使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获取最新版本,请访问JFrog统一平台
主目录
在设置人工HA时,您需要配置ARTIFACTORY_HOME美元
目录分别用于系统中的每个Artifactory集群节点。
这些目录的总体布局如下:
安装人工HA
Artifactory HA节点首先作为Artifactory Pro实例安装,然后通过配置美元ARTIFACTORY_HOME / etc / ha-node.properties
文件。
安装流程
HA安装中的二进制存储必须能够被集群中的所有节点访问。这可以通过在每个集群节点上挂载网络文件系统(NFS)来实现,使用共享对象存储,或者使用节点的本地文件系统,同时使用在它们之间同步二进制文件的机制。
安装过程包括两个阶段:
- 设置存储配置
存储配置取决于您对设置的两个参数的决定:- 二进制存储:你打算使用吗文件系统存储将二进制文件存储在节点的文件系统上,或者云存储提供商,如S3、GCS或任何其他符合S3的提供商?
- NFS:您是否计划使用网络文件系统(NFS) ?
- 安装集群节点
存储配置和设置完成后,其余的安装过程是相同的
设置存储配置
选择二进制存储和是否使用NFS会导致以下四种设置存储配置的选项之一:
使用NFS文件系统存储
使用无NFS的文件系统存储
通过NFS协议使用云存储
使用无NFS的云存储
安装集群节点
一旦完成了文件存储配置的设置,安装集群节点的过程与下面的步骤相同:
安装主节点
通过Artifactory Pro中描述的常规安装安装Artifactory,将其转换为HA主节点ha-node.properties
您创建的文件当你设置存储配置到$ ARTIFACTORY_HOME /等。暂时不要启动实例。
请注意,此时必须配置一个外部数据库以供使用,如需求部分
您还应该验证数据库JDBC驱动程序是否正确地位于$ ARTIFACTORY_HOME / tomcat / lib每个Artifactory集群节点。
创建主密钥
主密钥是一个AESArtifactory用于在集群节点之间安全地同步文件的128位秘密密钥。它负责加密和解密数据库中的共享数据。
默认情况下master.key
文件由Artifactory在主节点初始启动期间自动生成。可选地,您可以通过运行'Openssl rand -hex 16
',它将输出128位密钥大小(十六进制编码)。把这把钥匙放在美元ARTIFACTORY_HOME / etc /安全/ master.key目录,然后启动主节点。
添加许可证
有几种方法可以将许可证添加到集群:
- 使用集群许可证管理器UI或REST API,如添加许可证
- 作为新员工培训向导当你第一次启动Artifactory时,你会得到
- 使用人工引导YAML文件(注意:这只适用于主节点)
由于目前唯一的操作节点是主节点,因此您可以在那里安装许可证。将辅助节点添加到集群后,它们将通过集群License管理器。
所有使用的许可证必须是企业许可证。
设置URL库
在安装节点并验证系统作为HA安装正常工作之后,应该配置自定义URL库。
在管理选项卡下配置|通用配置设置定制的基础URL字段到负载均衡器的URL。
添加备节点
您还应该验证数据库JDBC驱动程序是否正确地位于$ ARTIFACTORY_HOME / tomcat / lib每个Artifactory集群节点。
要为每个节点添加辅助节点,请遵循以下步骤:
- 创建一个
ha-node.properties
按照你想要的方式归档设置存储配置。 - 通过一个新的Artifactory Pro安装描述在安装Artifactory。暂时不要启动实例。
注意,这是一个外部数据库必须配置为此时使用,如中所述需求部分 Artifactory Pro安装完成后,添加
ha-node.properties
文件中创建的$ ARTIFACTORY_HOME /等
文件夹中。在备节点上创建美元ARTIFACTORY_HOME / etc /安全文件夹,并将主密码匙文件(美元ARTIFACTORY_HOME / etc /安全/ master.key),从集群中的一个现有节点。
警告:主密钥和db.properties
这是安装过程中的关键步骤。的主密钥和db.properties在启动每个辅助节点之前,必须在其上安装文件,以使其在集群中正确运行。启动集群节点。节点启动后,系统会自动为节点分配license集群License管理器。
警告:在高可用性环境中设置企业+服务许可
对于企业+安装,许可证在JFrog任务控制中添加添加新服务的过程。添加新服务时,从license桶中提取license。
在HA安装过程中,如果要添加新节点或交换现有节点,则需要使用许可证手动重新配置服务。- 测试HA配置在添加到系统的每个集群节点之后。
警告:请确保网络通信
确保网络通信已启用在集群节点之间以下每一项:
- context.url
接口和成员关系。端口(一起使用)例如,
172.24.0.1:10001)
membership.portnot used from version 6.2.0
从版本6.2.0开始,这个参数应该设置为0,因为在Artifactory中引入了内部锁定机制,不再需要它。自从成为会员以来。如果Artifactory不再使用port,您也可以考虑从ha节点中完全删除此参数。属性文件从版本6.2.0开始
欲知详情,请参阅JFrog知识库。
备注:HA集群内节点间配置文件同步
从5.0版本开始,Artifactory自动在HA集群的节点之间传播配置文件。这些文件包括内部配置文件和binarystore.xml
(它负责Artifactory文件存储配置),以及artifactory.system.properties
该文件可由Artifactory管理员修改。
注意,要修改binarystore.xml
或artifactory.system.properties
你必须在主节点然后重新启动您的HA集群,以使更改生效。
此外,从5.7.0版本开始,配置文件的传播忽略时间戳每个相应节点上的文件,并确保镜像主节点上的文件。
数据库锁定
从版本6.0.0开始,新的数据库锁定机制添加了自己的连接池(默认值为pool.max.active值)。
但是,您可能需要调整数据库连接限制以接受更多连接。例如,如果将数据库设置为接受来自每个节点的最多100个连接,则可以考虑将该限制增加到每个节点200个并发连接,以充分利用锁定连接池。数据库应该接受每个节点配置的连接数乘以集群中的节点数。
会话管理
从6.2版开始,当访问其中一个成员时,Artifactory为Artifactory HA成员之间的会话管理提供了不同的替代方案。
控件控制管理会话的方式artifactory.map.provider.type
财产(在美元ARTIFACTORY_HOME / etc / artifactory.system.properties
文件),它可以接受以下值:
db |
(默认) 会话由数据库管理 |
分布式 |
会话由Hazelcast管理 |
jvm |
会话由JVM管理 |
如果将会话配置为由数据库管理,Artifactory还将调度一个cron作业来清理旧会话。
配置触发会话的cron表达式artifactory.db.session.cleanup.cron
的财产ARTIFACTORY_HOME / etc /美元artifactory.system.properties
文件。
在安装过程中,这个cron表达式被设置为一个默认值,该值在每小时过后的一分钟(随机确定)触发清理。
升级人工HA
升级人工HA取决于您从哪个版本开始。有关详细说明,请参阅升级企业高可用性集群。
测试HA配置
以下是您可以执行的一系列测试,以验证您的系统是否被正确配置为HA安装:
- 直接访问您刚刚配置的服务器的Artifactory UI
- 在管理模块转到高级|系统日志查看日志并验证您是否看到了的条目HA节点ID。
- 模块导航栏的底部还应该表明您正在使用Enterprise许可证运行。如果出现错误,您将在页头中看到错误消息。
- 通过您的负载平衡器访问Artifactory并登录管理。
在管理模块转到配置。应该有一个章节叫做高可用性。选中后,您应该看到一个表,其中包含集群中所有Artifactory节点的详细信息,如下所示。
在管理模块下配置|一般、验证自定义URL库字段被正确配置为负载均衡器的URL。
集群License管理
Artifactory 5.0为HA集群引入了一个自动许可证管理接口,通过该接口,所有许可证在添加到集群时自动分配给节点。可以添加一批license通过UI和REST API到集群中的任何节点。
启动的新节点将自动从池中请求可用的许可证,并将分配具有最新有效期的许可证。当该节点被关闭或从HA集群中移除时,license也会自动返回到池中。
分配了哪个许可证?
请注意,通过节点添加许可证并不一定意味着该许可证将附加到该特定节点。将license添加到可用license池中,并为该节点分配截止日期最近的可用license。
一旦您购买了一组许可,它们就会以空格或换行符分隔的列表形式提供给您。
添加许可证
在HA集群中添加license的方式有三种:
- 通过UI
- 使用REST API
- 将它们添加到主节点的文件系统中(自动化)。
指定多个license
当指定多个许可证时,无论是在Artifactory UI中,使用REST API还是在artifactory.cluster.license
文件中,请确保用换行符分隔许可证。
使用UI
通过UI,在Admin模块下配置|Artifactory许可证,可以查看上传到集群的所有license。
要向集群添加许可证,请单击新并将您的许可密钥复制到许可证密钥输入字段。您还可以简单地将包含许可密钥的文件拖放到同一字段中。确保每个许可证用换行符分隔。
使用REST API
也可以通过安装许可证REST API端点
使用主节点的文件系统
为了适应使用自动化来旋转人工HA节点,在启动主节点之前,你可以把artifactory.cluster.license
文件格式$ ARTIFACTORY_HOME /等
文件夹中。在启动时,主节点自动提取其中一个许可证。
类似地,在启动时,每个辅助节点还自动提取剩余可用许可证中的一个。
许可证到期
使用即将过期的许可证运行的节点将自动从池中更新可用的新许可证。人工管理员可以在UI内或使用REST API手动删除过期的license。
删除许可证
删除license有以下两种情况:
- 它目前没有被使用,
- 池中存在可用的替代license。在这种情况下,被删除的license所附加的节点将自动分配一个替代的license。
永久许可证
请注意,Artifactory许可证是永久的,可以无限期地继续激活Artifactory实例,但是,运行在过期许可证上的实例可能无法升级,也没有资格获得支持。
REST API
组件管理您的人工HA许可证HA License信息,安装HA集群license和删除HA集群LicenseREST API端点。