GBase 8a集群在执行扩容时,要在各个节点执行python的脚本,使用了pexpect的库。如果节点不存在pexpect.py库,则会报这个错误ImportError No module named pexpect
目录导航
报错样例
ImportError No module named pexpect
解决方案
GBase 8a的安装包自带了一个python.py和python.pyc
[root@gbase_rh7_003 gcinstall]# ll pex*
-rwxrwxr-x 1 gbase gbase 75990 Nov 17 14:29 pexpect.py
-rw-rw-r-- 1 gbase gbase 63259 Apr 16 09:03 pexpect.pyc
[root@gbase_rh7_003 gcinstall]#
将如上2个文件,复制到新增节点的报错py程序的目录下,一般是/tmp下面。
新版本集群安装程序已经自动完成了这个功能,所以老版本(大于4年以前的8.6.2Build20早期版本)集群建议尽快升级。
另外,也可以将py复制到python的默认类库下,比如
复制到/usr/lib/python2.7/site-packages/ 目录下面。
然后将其加入PYTHONPATH
export PYTHONPATH=/usr/lib/python2.7/site-packages/