如何解决失败的传播事件?

尼姆Bsoul
2023-01-22十一10

相关版本:此信息属于人工HA版本5。X到6.3.4和6.4到6.7

存在高可用性集群情况,例如当用户修改一个节点上的权限时,在此期间,由于无效的管理访问令牌,从该节点到集群中的其他成员节点的传播将失败。如果发生这种情况,用于传播节点的artifactory.log文件将显示以下错误:

  • 在Artifactory HA版本中X到6.3.4

2018-05-08 09:36:48,194 [alt - exec2] [WARN] (o.a.a.h.p.HaPropagationServiceImpl:411) -向A (https://172.16.78.163:8081/artifactory/api/support/internal/bundles)': 403:Forbidden)传播事件'supportBundleList'失败

  • 在Artifactory HA版本6.4到6.7中

2018-12-04 16:12:33,102 [art-exe -12] [WARN] (o.a.a.h.p.HaPropagationServiceImpl:511) -无效的serviceId jfrt@01cx654e53fp5e11m2p16n1vfh

2018-12-04 16:12:33,102 [Thread-5] [ERROR] (o.a.a.h.p.HaPropagationServiceImpl:207) - Failed to progate - sleeping…

2018-12-04 16:12:34,826 [http-nio-8082-exec-1] [WARN] (o.a.a.h.p.HaPropagationServiceImpl:511) -无效的serviceId jfrt@01cx654e53fp5e11m2p16n1vfh

2018-12-04 16:12:34,826 [http-nio-8082-exec-1] [ERROR] (o.a.a.h.r.HaRestAuthenticationFilter:73) -验证来自_system_@primary的HA rest请求出错

要刷新或重新生成admin访问令牌,请执行以下操作:

  • 在Artifactory HA版本中X到6.3.4
  1. 在$ARTIFACTORY_HOME/etc文件夹中,创建artifactory.config.latest.xml文件的备份副本,并将其命名为artifactory.config.latest.xml.copy。
  2. 编辑原始的artifactory.config.latest.xml并删除部分(删除包含内容的标记)。
  3. 消除交流。$ARTIFACTORY_HOME/etc/security文件夹中的令牌。
  4. 保存这些更改并将文件名更改为Artifactory .config.import.xml,以确保Artifactory在启动时重新加载它。
  5. 在所有HA节点上执行滚动重启。
  • 在Artifactory HA版本6.4到6.7中:
  1. 美元/ access.admin ARTIFACTORY_HOME / etc /安全/访问。令牌,adminToken是文件的一部分,它存在于集群中的所有节点上。
  2. 从所有节点删除该文件。
  3. 在所有HA节点上执行滚动重启。
  4. 重新启动$ARTIFACTORY_HOME/etc/security/access/keys/service_id文件后,将自动重新生成令牌。

如果问题仍然存在,请检查访问属性

访问服务有一个名为access的设置文件。属性,它是在Artifactory服务启动期间在$ArtifactoryHome/access/data目录中创建的。在某些情况下,在设置Artifactory HA集群时,如果您从主节点或集群的任何其他节点复制访问目录,那么访问将会中断。属性已经作为目录副本的一部分存在,并且由于访问中的某些字段导致传播问题。属性文件在节点之间是唯一的。

在这个文件中,access.server.name属性在HA人工集群的每个节点上应该是不同的,因为这是artifactory识别每个单独服务的方式。要克服这种行为,请删除或移动访问。从$ArtifactoryHome/access/data目录中取出$ArtifactoryHome/access/data . properties文件,然后重新启动服务,我们应该会看到一个新的访问。正在创建的属性文件。这将保证每个节点具有唯一的访问服务器名称。