现象
在安装Cloudera 服务的时候,到安装Parcel那一步时,有一个节点安装parcel一直hang住不动,如下图
查看/var/log/cloudera-scm-agent/cloudera-scm-agent.log日志一直报以下错误信息,
Traceback (most recent call last):
File "/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.7.1-py2.7.egg/cmf/agent.py", line 686, in start
self._init_after_first_heartbeat_response(heartbeat_response["data"])
File "/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.7.1-py2.7.egg/cmf/agent.py", line 816, in _init_after_first_heartbeat_response
self.client_configs.load()
File "/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.7.1-py2.7.egg/cmf/client_configs.py", line 682, in load
new_deployed.update(self._lookup_alternatives(fname))
File "/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.7.1-py2.7.egg/cmf/client_configs.py", line 432, in _lookup_alternatives
return self._parse_alternatives(alt_name, out)
File "/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.7.1-py2.7.egg/cmf/client_configs.py", line 444, in _parse_alternatives
path, _, _, priority_str = line.rstrip().split(" ")
ValueError: too many values to unpack
原因
经网上查询相关解决方案,指明与OpenJDK有关,于是查看系统中的JDK有多个版本
[root@esggy-del-n001 java]# rpm -qa | grep jdk
ldapjdk-4.19-1.el7.noarch
jdk-1.7.0_71-fcs.x86_64
copy-jdk-configs-2.2-3.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64nodep
[root@esggy-del-n001 java]# ls /usr/java/
default jdk1.7.0_67-cloudera jdk1.7.0_71 latest
[root@esggy-del-n001 ~]# java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
解决
解决方案为卸载OpenJDK,执行以下命令卸载当前节点的OpenJDK,解决问题
rpm -e java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64 java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 --nodeps