记一次centos6升级salt-minion启动失败的问题
记一次centos6升级salt-minion启动失败的问题
作者:耀耀
blog:https://www.liuyao.me
一、起因
升级Salt-minion后 使用/etc/init.d/salt-minion start启动失败,报错如下
[root@admin]# /etc/init.d/salt-minion start
ERROR: Unable to look-up config values for /etc/salt
二、排查
-
刚开始觉得此错误应该是因minion配置文件有误导致的,但是排查后发现minion配置文件正常
-
之后直接执行 /usr/bin/salt-minion
[root@admin]# /usr/bin/salt-minion Traceback (most recent call last): File "/usr/bin/salt-minion", line 6, in <module> import salt.utils.platform ImportError: No module named salt.utils.platform
-
报错因为是找不到salt相关库 但是/usr/lib/python2.7/site-packages/salt/里发现环境正常,由此可以怀疑是不是salt-minion在运行的时候没有使用yum安装的Python 2.7.13的解释器,而是使用了直接编译安装的/soft/python2.7.12里的解释器。之后用了查看软连接等方法都查不到/usr/bin/python2.7和/soft/python2.7.12里有关系。
-
这时候用了ldd命令
[root@admin]# ldd /usr/bin/python2.7 linux-vdso.so.1 => (0x00007ffeb916f000) libpython2.7.so.1.0 => /usr/local/lib/libpython2.7.so.1.0(0x00007fd66b851000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd66b634000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd66b42f000) libutil.so.1 => /lib64/libutil.so.1 (0x00007fd66b22c000) libm.so.6 => /lib64/libm.so.6 (0x00007fd66afa8000) libc.so.6 => /lib64/libc.so.6 (0x00007fd66ac13000) /lib64/ld-linux-x86-64.so.2 (0x00007fd66bc35000)
突然怀疑libpython2.7.so.1.0是不是有问题, 因为yum安装的python相关库应该是在/usr/lib64/libpython2.7.so.1.0里,所以觉得有可能是解释器加载动态库有问题。所以我把/usr/local/lib/libpython2.7.so.1.0先mv到了/root下 之后在ldd的时候
[root@admin]# ldd /usr/bin/python2.7 linux-vdso.so.1 => (0x00007ffd0b5a5000) libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007f373f1f1000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f373efd4000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f373edcf000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f373ebcc000) libm.so.6 => /lib64/libm.so.6 (0x00007f373e948000) libc.so.6 => /lib64/libc.so.6 (0x00007f373e5b3000) /lib64/ld-linux-x86-64.so.2 (0x00007f373f5d5000)
在执行
[root@admin]# python2.7 --version Python 2.7.13
发现正常了
重启salt成功