5.使用Artifactory。x ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
主目录
在设置Artifactory HA时,需要配置ARTIFACTORY_HOME美元
为系统中的每个Artifactory集群节点分别创建一个目录,以及一个公共的CLUSTER_HOME美元
在NFS上找到的目录。
这些目录的总体布局如下:
| - $ ARTIFACTORY_HOME
| -等/
| - ha-node.properties
| - logback.xml
| - artifactory.lic
| - - - - - -数据/
| - tmp /
| -日志/
| - bin /
| - misc /
| - webapps /
| - tomcat /
| - lib /
|-
| - $ CLUSTER_HOME
| - ha-etc /
| - cluster.properties
| - storage.properties
| - artifactory.system.properties
| - mimetypes.xml
| - ui /
| - plugins /
| - ha-data /
| - filestore /
| - tmp /
| - ha-backup /
和ha-node.properties
注意artifactory.system.properties
下的文件$ ARTIFACTORY_HOME /等
文件夹应替换为ha-node.properties
文件。的artifactory.system.properties
被移到$ CLUSTER_HOME / ha-etc
文件夹中。
特权
上的每个Artifactory集群节点都必须具有完全的写权限CLUSTER_HOME美元
目录树。
配置Artifactory HA
为了使Artifactory HA正常运行,您需要确保集群被正确地配置为共享系统,并且每个特定的服务器被正确地配置为系统中的节点。
为确保系统在每一步的配置正确,我们建议执行以下步骤:
配置集群
需要创建共享CLUSTER_HOME美元
目录,该目录对于系统中的所有Artifactory集群节点都是可见和可写的。
共享目录内容如下:
ha-etc |
集群的共享配置文件,包括后端存储和系统中所有Artifactory集群节点上的信息 |
ha-data |
集群的共享数据。其中,当以db-filesystem模式使用Artifactory时,该目录包含文件存储。 |
ha-backup |
用于从一个Artifactory集群节点执行自动备份的共享备份目录。 |
共享集群配置需要手动创建以下两个文件:
美元CLUSTER_HOME / ha-etc / cluster.properties |
由所有Artifactory集群节点共享的配置参数 |
美元CLUSTER_HOME / ha-etc / storage.properties |
与 此文件替换 该文件是在配置系统中的第一个Artifactory集群节点时在正确的位置创建的,并且有完整的描述下面. |
从Artifactory HA节点挂载NFS
在客户端挂载NFS时,请确保为山
命令:
lookupcache =没有
这确保HA集群中的节点将立即看到其他节点对NFS所做的任何更改。
如果集群节点之间有防火墙,那么所有节点之间的Hazelcast端口(10001)和Tomcat端口(默认8081)都应该是开放的。
的cluster.properties
文件包含以下属性:
security.token = < your_selected_token > |
您选择的ASCII字符串令牌,用于在服务器之间发送安全消息。这可以是你选择的任何字符串(比如密码)。 |
例如,cluster.properties
用于Artifactory HA安装的文件可以是:
security.token = 76 b07383dcda344979681e01efa5ac50
独特性
确保每个集群都有唯一的安全令牌。
安装集群节点
正如在需求Artifactory 3.1及以上版本支持Artifactory HA。
无论您是要执行新的安装还是升级当前的安装,我们都建议您在将所有Artifactory集群节点配置为HA集群的一部分之前,将它们作为独立的服务器安装并使用Artifactory 3.1或更高版本。
我们建议您在继续下一个节点之前完成每个Artifactory集群节点的配置,并按照下面的描述将其集成到HA集群中。
新安装
对于新的安装,只需遵循中的说明安装Artifactory.
对于安装的第一个节点,需要移动storage.properties
来自服务器的文件ARTIFACTORY_HOME / etc /美元
到您的CLUSTER_HOME / ha-etc /美元
目录中。
将Artifactory Pro的当前安装升级到Artifactory HA
- 确认当前正在升级的安装上的Artifactory服务器已关闭
- 要将当前安装升级到Artifactory 3.1及以上版本,请参阅升级Artifactory
- 复制
ARTIFACTORY_HOME / etc /美元
而且ARTIFACTORY_HOME /数据/美元
从我们当前的安装到相应的位置下CLUSTER_HOME美元.
您只需要执行一次,因此对于您升级到Artifactory高可用性系统中的任何后续服务器,可以省略此步骤。
JDBC驱动程序
你也应该验证数据库JDBC驱动程序的正确位置ARTIFACTORY_HOME / tomcat / lib /美元
为每个Artifactory集群节点.
配置集群节点
关闭Artifactory集群节点。
创建一个
美元ARTIFACTORY_HOME / etc / ha-node.properties
文件并使用以下参数填充它(您可以使用美元ARTIFACTORY_HOME / misc /公顷/ ha-node.properties.template
作为模板来定义您的ha-node.properties
文件):node.id 此服务器的唯一描述性名称。
独特性
确保每个节点都有一个在整个网络中惟一的id。
cluster.home
您在NFS上设置的$CLUSTER_HOME的位置。
context.url
应该用于在集群内与此服务器通信的上下文url。
使用显式IP地址
主机必须显式地定义为IP地址,而不是主机名。
membership.port 应该用于在集群中与此服务器通信的端口。
如果没有指定,Artifactory将自动分配端口,但是我们建议将此设置为固定值,以确保分配的端口对您组织的所有安全系统(如防火墙等)开放。主要的 (true | false)是否是主服务器。集群中必须有一个(且只有一个)服务器配置为主服务器。对于其他服务器,此参数为可选参数,默认值为“false”。 hazelcast.interface
可选的。当同一集群中的节点运行在不同的网络上时(例如,不同的docker主机上的节点),将此值设置为与服务器的内部IP地址匹配。
使用外部IP作为context.url
如果设置了该参数,
context.url
必须设置为机器的外部可访问地址。例如,
ha-node.properties
文件为服务器调用art1
连接到挂载驱动器CLUSTER_HOME美元
在/ mnt /共享/ artifactory / clusterhome
,通过10001端口与其他节点通信,配置为“primary”,如下:node.id=art1 cluster.home=/mnt/shared/artifactory/clusterhome context.url=http://10.0.0.121:8081/artifactory membership.port=10001 primary=true hazelcast.interface=192.168.0.2 (optional)
ha-node.propertiesfile permissions
在Linux上,一旦
ha-node.properties
文件创建时,Artifactory用户应设置为其所有者,其权限应设置为644 (-rw-r - r)在您的目录中设置有效的Artifactory HA许可证
美元ARTIFACTORY_HOME / etc / artifactory.lic
文件。如果这个文件存在(来自以前安装的Artifactory Pro),那么只需用Artifactory HA许可证替换您的Pro许可证,否则创建该文件并用您的HA许可证填充它。挂载
CLUSTER_HOME美元
目录中定义的cluster.home
的属性美元ARTIFACTORY_HOME / etc / ha-node.properties
测试HA配置在您添加到系统的每个集群节点之后。
在安装了第一个集群节点并验证系统作为HA安装正常工作之后,应该配置自定义URL基。
在管理选项卡下|常规配置,设置自定义URL库字段转换为负载均衡器的URL。
一旦您成功地安装、配置和测试了一个集群节点,您就可以继续到您想要添加到系统中的下一个集群节点。
测试HA配置
您可以执行以下一系列测试,以验证您的系统已正确配置为HA安装:
- 直接访问您刚刚配置的服务器的Artifactory UI
- 在管理模块转到高级|系统日志查看日志并验证您看到的条目Artifactory Cluster Home.
- 模块导航栏的底部还应该表明您正在使用Artifactory HA运行。如果出现错误,您将在页面标题中看到错误消息。
- 通过负载均衡器访问Artifactory,并以管理.
在首页模块,您应该看到Artifactory HA是Available.
在管理模块转到配置。应该有一个叫做高可用性。选中后,您应该创建一个表,其中包含集群中所有Artifactory节点的详细信息,如下所示。
在管理模块下|常规配置,验证自定义URL库字段正确配置为负载均衡器的URL。
升级Artifactory HA
从3.5版开始,升级Artifactory HA的过程发生了变化
下面的部分根据您的当前版本提供了升级说明,并假设您正在升级到最新版本.
从3.5以下的任何版本升级
在3.5版本以下升级Artifactory HA需要关闭所有Artifactory HA节点,升级并重新启动主节点,然后升级并重新启动从节点,如下所示:
在context.url中配置一个显式IP
在继续升级之前,请确保已配置context.url您的集群节点的显式IP地址。
- 每次关闭一个Artifactory HA节点
- 使用中描述的常规步骤升级主节点升级Artifactory,然后重新启动。
- 升级和重新启动所有其他从节点,一次一个,使用中描述的常规过程升级Artifactory.
从3.5+版本升级
如果您的当前版本是3.5或更高版本,升级HA集群的方法是:首先升级主节点,重新启动它,然后一次升级一个其余的从节点。
在任何时候,至少有一个Artifactory节点继续运行,这意味着没有服务中断。
此零停机升级过程应按如下方式执行:
- 安全地关闭Artifactory主节点。当主节点关闭时,负载均衡器应该将所有查询重定向到从节点。
- 升级主节点时,请按照升级Artifactory.
重新启动主节点。当主服务器启动时,它会识别到HA集群节点并不都运行相同版本的Artifactory,因此系统仅限于允许上传和下载。
任何试图执行其他操作的尝试,如更改DB模式、修改权限、更改存储库配置等,都被严格阻止。此限制将持续到所有集群节点再次运行相同版本为止。版本不一致会产生异常
运行不同版本的HA集群节点会产生异常,这些异常可以在日志文件中看到,反映了升级过程中暂时的不一致状态。这是正常的,应该忽略,直到所有集群节点再次运行相同的版本。
对于每个从节点
优雅地关闭Artifactory,
使用中描述的常规过程进行升级升级Artifactory.
- 重新启动节点
一旦所有节点都升级到相同的版本,您的Artifactory HA安装将再次完全正常。