静思学吧 - 关注Graphite,Puppet,saltstack, Zabbix
在CentOS 5下面安装 salt (使用epel源)时,默认安装的zeromq版本是zeromq2,zeromq2证明是存在bug的,因此本文就将zeromq2升级到zeromq3。
你可以在这里(Salt Minion keepalive is not valid in CentOS 5和Minion did not return message on CentOS5-6 or RHEL 5-6)可以找到minion在使用zeromq2与master通信时,minion与master的连接断开后,不会自动重连的问题。
CentOS 5的zeromq版本是zeromq-2.1.9-1.el5。
解决方法就是升级zeromq2到zeromq3。
- 方法一: 适用于单机运行以下命令即可:
wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo yum clean all yum update zeromq libzmq3 python26-zmq service salt-minion restart
这样就可以了。
- 方法二: 使用state
我们也可以用一个state来作这个事情:# filename: /srv/salt/updatezeromq.sls getownsourcerepo: cmd.run: - name: wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo - unless: test -f /etc/yum.repos.d/ownsource.repo zeromqs: pkg.installed: - pkgs: - zeromq - libzmq3 - python26-zmq - require: - cmd: getownsourcerepo salt-minion: service.running: - enable: True - watch: - pkg: zeromqs
Ok, 应用一下这个sls ( salt ‘*’ state.sls updatezeromq ) 就行了。
最后需要检查确认一下,使用下面的命令:
# 如果显示 salt -G 'osrelease:5.*' test.versions_report
确保显示的zeromq的版本信息为:
- PyZMQ: 13.1.0
- ZMQ: 3.2.2
欢迎有爱心人士提供空间来存放打包的一些软件,现在是放在公司的服务器上,一旦离开公司就没戏了。
其中的zeromq和libzmq3包是从zeromq官方源转载的。
python26-zmq是自己打包的,rpm的源码包在这里:python26-zmq-13.1.0-1.src.rpm 下载。