企业Jenkins HA插件无法正常工作

时间:2012-10-25 15:05:14

标签: cloudbees

我一直在尝试使用High Availabilty设置设置Enterprise Jenkins。目前的设置包括两个jenkins主人共享相同的jenkins主页,比如master1和master2,这两个主人都安装了jenkins-ha-monitor-1.1-1.1 rpm,比如monitor1和monitor2。有了这个设置,至少根据文档,HA插件应该按预期工作。升级和降级脚本与文档中的类似(只有ip和接口不同,方法相同)。即

降级

  

ifconfig eth0:2 down

促销

  

ifconfig eth0:2 the.floating.ip

现在要正确注册节点,我必须按顺序启动master1,master2,monitor1和monitor2。为两者记录日志我发现,当服务以该顺序启动时,它们被监视服务正确地注册为集群中的节点,并且在jenkins控制台中的HA状态gui中。

现在,当通过发送一个KILL信号杀死master1时,monitor2识别出这个并运行促销脚本。但监视器一直在投掷:

  

2012年10月24日下午3:47:36   com.cloudbees.jenkins.ha.singleton.HASingleton $ 3怀疑信息:   怀疑集群中的节点故障:jenkins-master-1-285 10月24日,   2012 3:47:39 PM com.cloudbees.jenkins.ha.singleton.HASingleton $ 3   怀疑信息:怀疑群集中的节点故障:   詹金斯主-1-285

持续不用降级脚本。现在,因为master2已经通过其促销脚本占用了浮动ip,并且master1仍然具有该ip,因为降级脚本未运行,所以安装程序最终会有两个声明相同ip的盒子。此外,重启master1没有做任何事情,即master1没有作为第二个节点添加到集群,monitor1仍然继续将上述消息吐出到日志,浮动ip继续返回“无法连接”,master2和monitor2将集群显示为master2,monitor2和monitor1。所以我的问题/问题是双重的 - 为什么isnt master1被接受回集群?为什么降级脚本不应该运行呢?

另外,我也试过做

  服务jenkins停止

在这种情况下,降级脚本会运行,但

时会出现类似的问题
  

服务jenkins开始

无论主jenkins是否存在,

都会在自运行促销脚本之前停止的主服务器上运行。在这种情况下,两个监视器注册不同的集群,如monitor1:master1,monitor1和monitor2:master2,monitor2。 运行ifconfig显示两个主服务器此时已占用浮动ip。

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:1)

仍有待支持调查。最初报告的问题(此处)表明两个节点通信正常,但促销/降级未正确运行 - 无论是JGroups中的错误还是Jenkins高可用性中的错误使用。

但是进一步的测试发现了UDP多播通信的问题,已经报道过RedHat / CentOS主机。正在进行工作以提供备用JGroups堆栈,该堆栈完全不依赖于多播(或UDP),使用共享$JENKINS_HOME目录来注册Jenkins并监视实例(作为TCP地址:端口记录)。