使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获得最新版本,请访问JFrog统一平台
主目录
在设置Artifactory HA时,需要配置ARTIFACTORY_HOME美元
为系统中的每个Artifactory集群节点分别创建一个目录。
这些目录的总体布局如下:
安装Artifactory HA
Artifactory HA节点首先作为Artifactory Pro实例安装,然后修改为作为HA集群中的节点操作美元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时,你会得到什么
- 使用Artifactory引导YAML文件(注意:这只适用于主节点)
因为目前唯一可用的节点是主节点,所以您可以在那里安装许可证。将辅助节点添加到集群后,将自动通过集群License管理器.
所有使用的license必须为企业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管理器.
警告:在HA环境中设置企业+服务授权
对于Enterprise+安装,许可证将在JFrog任务控制中添加添加新服务的过程。添加新服务时,从license桶中提取license。
在HA安装过程中,如果需要增加新节点或交换现有节点,需要手动重新配置服务与license。- 测试HA配置在您添加到系统的每个集群节点之后。
警告:确保网络通信
确保网络通信已启用在集群节点之间对于以下每一项:
- context.url
接口和成员关系。端口(一起使用。例如,
172.24.0.1:10001)
membership.portnot used from version 6.2.0
从版本6.2.0开始,这个参数应该设置为0,因为Artifactory引入了内部锁定机制,消除了对它的需求。自会员。如果Artifactory不再使用port,您还可以考虑从ha-node中完全删除该参数。从版本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表达式被设置为默认值,该值在每小时之后的设置分钟(随机确定)触发清理。
升级Artifactory HA
升级Artifactory HA取决于您从哪个版本开始。详情请参阅升级企业HA集群.
测试HA配置
您可以执行以下一系列测试,以验证您的系统已正确配置为HA安装:
- 直接访问您刚刚配置的服务器的Artifactory UI
- 在管理模块转到高级|系统日志查看日志并验证您看到的条目HA节点ID。
- 模块导航栏的底部还应该表明您正在使用Enterprise许可证运行。如果出现错误,您将在页面标题中看到错误消息。
- 通过负载均衡器访问Artifactory,并以管理.
在管理模块转到配置。应该有一个叫做高可用性。选中后,您将看到一个表,其中包含集群中所有Artifactory节点的详细信息,如下所示。
在管理模块下|常规配置,验证自定义URL库字段正确配置为负载均衡器的URL。
集群License管理
Artifactory 5.0为HA集群引入了一个自动化的license管理接口,当节点添加到集群中时,所有的license都会自动分配给节点。支持批量添加license通过UI和REST API到集群中的任何节点。
启动的新节点将自动从池中请求可用的license,并将分配最新有效期的license。当节点被关闭或从HA集群中移除时,license也会自动返回到池中。
分配了哪个license ?
请注意,通过节点添加许可证并不一定意味着该许可证将附加到该特定节点。将license添加到可用的license池中,最后过期的license将被分配给该节点。
一旦您购买了一组许可证,它们将作为空格分隔或换行分隔的列表提供给您。
添加许可证
向HA集群添加license有三种方式:
- 通过UI
- 使用REST API
- 将它们添加到主节点的文件系统中(自动化)。
指定多个许可证
当指定多个许可证时,无论是在Artifactory UI中,使用REST API还是在artifactory.cluster.license
文件中,请确保许可证由换行符分隔。
界面方式
通过UI,在Admin模块中配置|Artifactory许可证,可查看当前集群中已上传的所有license。
如需向集群添加license,请单击新并将您的许可证密钥复制到许可证密钥输入字段。您还可以简单地将包含许可密钥的文件拖放到相同的字段中。确保每个许可证之间用换行符分隔。
使用REST API
方法添加许可证安装许可证REST API端点
使用主节点的文件系统
为了适应使用自动化旋转Artifactory HA节点,在启动主节点之前,您可以放置artifactory.cluster.license
文件的$ ARTIFACTORY_HOME /等
文件夹中。在启动时,主节点自动提取其中一个许可证。
类似地,在启动时,每个辅助节点也会自动提取剩余的可用许可证之一。
许可证到期
使用即将过期的license运行的节点将自动更新为池中可用的新license。Artifactory管理员可以从UI内部或使用REST API手动删除过期的许可证。
删除许可证
在以下情况下,可以删除license:
- 目前还没有被使用,
- 池中有一个可用的替代许可证。在这种情况下,已删除的license所附加的节点将自动分配一个替代的license。
永久许可证
请注意,Artifactory许可证是永久的,可以继续无限期地激活一个Artifactory实例,但是,在过期许可证上运行的实例可能无法升级,也没有资格获得支持。
REST API
方法管理Artifactory HA许可证HA License信息,安装HA集群license而且删除HA集群LicenseREST API端点。