JFrog Artifactory HA集群配置

时间:2020-04-13 14:33:41

标签: cluster-computing artifactory high-availability

我正在配置2个Artifactory服务器(WinServer OS)。

在配置之后,一切都很好,但问题与文件存储有关。 Filestore是每个ART服务器保留其软件包(Nugets,NPM,JAR等)的位置。

单个服务器的基本配置是:

<config version="1">
    <chain template="file-system"/>
</config>

集群的配置(根据Gudielines)是:

<config version="2">
    <chain template="cluster-file-system"/>
</config>

如果一台服务器宕机,那可以给我带来冗余。 但是,在拆除NODE1(以前是主要的单一Artifactory服务器)的同时,我确实使NODE2可以正常运行,而且分辨率很好。

但是,在运行消耗人工产物的构建时,出现“内部服务器错误500”。 在仔细检查该错误时,它声称在NODE2上找不到某些软件包。

我已经检查了本地“数据\文件存储”,但是在NODE1上,它包含许多软件包。

TY家伙!

2 个答案:

答案 0 :(得分:0)

人工工厂HA?配置必须匹配。我的配置binarystore.xml:

<config version="2">
    <chain template="cluster-file-system"/>
</config>

负载平衡由Nginx或其他反向代理执行。更多:系统架构-https://www.jfrog.com/confluence/display/JFROG/System+Architecture

答案 1 :(得分:0)

在与JFrog支持人员进行讨论之后。 似乎是为了让Node1和Node2复制FILESTORE(所有程序包所在的位置)。应当升起国旗。

这可以通过调用POST命令来完成:

curl -u用户名:密码-X POST“ https://servername:8443/artifactory/api/system/storage/optimize

在那之后,这是最重要的事情,必须启动垃圾回收20次(其默认值)才能开始同步。 因此,我们必须运行此命令20次:

curl -u用户名:密码-X POST“ https://servername:8443/artifactory/api/system/storage/gc

或者,有一种配置可以覆盖此默认设置。 转到您的Artifactory服务器,$ artifactory_home / etc / artifactory.system.property 并修改此文件以使其具有以下行: artifactory.gc.skipFullGcBetweenMonitorIterations = 1

这应该加到所有节点上 在群集中的所有节点上,必须重新启动服务

此后,节点之间将发生同步。