我正在配置 2 个 Artifactory 服务器(WinServer OS)。
遵循配置一切都很好,但问题在于文件存储。Filestore 是每个 ART 服务器保存其包(Nuget、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 上找不到某些包。
我检查了本地的“data\filestore”,什么都没有,而在 NODE1 上,它包含很多包。
你们!
好吧,在与 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
这应该应用于所有节点服务重启是集群中所有节点上必须的
之后将发生节点之间的同步。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句