JFrog Artifactory HA集群配置

JFrog Artifactory HA cluster configuration

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

按照配置,一切都很好,但问题是关于文件存储。 文件存储是每个 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 运行并且分辨率很好。

然而,当 运行 构建消耗人工制品时,我得到 "Internal server error 500"。 在仔细查看错误时,它声称在 NODE2 上找不到某些包。

我查过本地"data\filestore"什么都没有,而在NODE1上,里面有很多包

TY 伙计们!

Artifactory HA?配置必须匹配。我的配置 binarystore.xml:

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

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

好吧,在与 JFrog 支持人员讨论之后。 似乎是为了让 Node1 和 Node2 复制 FILESTORE(所有包所在的位置)。应该升旗。

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

curl -u username:password -X POST "https://servername:8443/artifactory/api/system/storage/optimize"

之后,这是最重要的事情,必须调用垃圾收集 20 次(默认),才能开始同步。 因此,我们必须运行这个命令20次:

curl -u username:password -X POST "https://servername:8443/artifactory/api/system/storage/gc"

或者,有一个配置可以覆盖这个默认值。 转到您的 Artifactory 服务器 $artifactory_home/etc/artifactory.system.property 并修改此文件以包含此行:artifactory.gc.skipFullGcBetweenMonitorIterations=1

这应该适用于所有节点 必须在集群中的所有节点上重新启动服务

之后将在节点之间进行同步。