首页 > 代码库 > Storm集群升级Python库遇到的一个与yum相关的问题

Storm集群升级Python库遇到的一个与yum相关的问题

今天部署完storm(0.9.3)集群后,在启动的时候发现bin/storm报出语法错误,定位了下是这行:
line 61:normclasspath = cygpath if sys.platform == 'cygwin' else identity
语法不支持,找了下另一个集群(storm版本为0.9.3-rc1)上对应逻辑:
if sys.platform == "cygwin":
    normclasspath = cygpath
else:
    normclasspath = identity
估计是python的不同版本语法支持问题,查了下当前集群的python为2.4.3(这也太低了。。。)

于是升级了python,切换/usr/bin/python软链到/usr/bin/python2.7.

但是因为机器是云主机,每次软件安装依赖yum进行管理,而yum是依赖python2.4的
这样的话,上面的更新会导致yum无法使用,安装的时候查看/var/log/messages都是fail的信息,查看
[root@bigdatatony-slave2 ~]# head /usr/bin/yum
#!/usr/bin/python

这个就好办了,修改这个文件即可,让它使用python2.4

其他python版本都是可以使用最新的软链版本。

Storm集群升级Python库遇到的一个与yum相关的问题