欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

启动YARN时,ResourceManager 和 NodeManager报错 Error found before invoking supervisord dictionary update s

程序员文章站 2022-04-28 10:05:21
...

在通过CM启动Yarn服务时候,不同的版本可能都会遇到同样的一个问题,如下图所示: 
启动YARN时,ResourceManager 和 NodeManager报错 Error found before invoking supervisord dictionary update s
Error found before invoking supervisord: dictionary update sequence element #89 has length 1; 2 is required

之前在cm5.5、cm5.7以及现在的cm5.11都出现过这样的问题。

在cm5.5中,修改文件 
/opt/cloudera-manager/cm-5.5.0/lib64/cmf/agent/src/cmf/util.py

修改内容如下,原文件:

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path, command)],
stdout=subprocess.PIPE, env=caller_env)
  • 1
  • 2
  • 3

修改为:

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env | grep -v { | grep -v }" % (path, command)],
stdout=subprocess.PIPE, env=caller_env)
  • 1
  • 2
  • 3

也即在env的后面加了| grep -v { | grep -v }这玩意,启动成功。

但cm5.7及以后的版本中,貌似不存在这个路径或文件里面不包含这部分内容,仔细查看日志文件cloudera-scm-agent.log,如下图(cm5.11): 
启动YARN时,ResourceManager 和 NodeManager报错 Error found before invoking supervisord dictionary update s
涉及到的文件为/opt/cloudera-manager/cm-5.11.1/lib64/cmf/agent/build/env/lib/python2.6/site-packages/cmf-5.11.1-py2.6.egg/cmf/util/__init__.py 
果然在这个文件里面包含上述修改的内容,尝试着按照上述修改。 
然后重启agent,再启动Yarn,这次成功了。

如果其他版本遇到类似问题,可尝试上述2个文件。

以上只针对完全离线安装的CDH,如果是完全在线或者半离线(rpm包)安装,可能路径不一样。楼主从来只用完全离线方式安装,所以其他2种方式路径未知。

可尝试用find命令查找,如 find / -name 'util.py'

相关标签: yarn