• 对cdh搭建过程错误总结及解决方法


    1、cdh安装是parcel包下载完毕卡在分配环节

    查看agent.log一下错误;

    MainThread agent        ERROR    Caught unexpected exception in main loop.
    Traceback (most recent call last):
      File "/opt/cm-5.8.3/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.8.3-py2.7.egg/cmf/agent.py", line 710, in __issue_heartbeat
        self._init_after_first_heartbeat_response(resp_data)
      File "/opt/cm-5.8.3/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.8.3-py2.7.egg/cmf/agent.py", line 947, in _init_after_first_heartbeat_response
        self.client_configs.load()
      File "/opt/cm-5.8.3/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.8.3-py2.7.egg/cmf/client_configs.py", line 682, in load
        new_deployed.update(self._lookup_alternatives(fname))
      File "/opt/cm-5.8.3/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.8.3-py2.7.egg/cmf/client_configs.py", line 432, in _lookup_alternatives
        return self._parse_alternatives(alt_name, out)
      File "/opt/cm-5.8.3/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.8.3-py2.7.egg/cmf/client_configs.py", line 444, in _parse_alternatives
        path, _, _, priority_str = line.rstrip().split(" ")
    ValueError: too many values to unpack
    解决方案是修改 /usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.10.0-py2.7.egg/cmf/client_configs.py 这个脚本的第444行
    for line in output.splitlines():
          if line.startswith("/"):
            if len(line.rstrip().split(" "))<=4:
              path, _, _, priority_str = line.rstrip().split(" ")
    
              # Ignore the alternative if it's not managed by CM.
              if CM_MAGIC_PREFIX not in os.path.basename(path):
                continue
    
              try:
                priority = int(priority_str)
              except ValueError:
                THROTTLED_LOG.info("Failed to parse %s: %s", name, line)
    
              key = ClientConfigKey(name, path)
              value = ClientConfigValue(priority, self._read_generation(path))
              ret[key] = value
    
            else:
              pass
        return ret
    

      其实就是添加 if len(line.rstrip().split(" "))<=4:  和  else:  pass;

  • 相关阅读:
    事件对象3
    事件对象2
    事件对象1
    编码、摘要、加密
    身份证号码的组成
    Oracle的TO_CHAR()格式化数字为百分数的字符串
    转载和补充:Oracle中的一些特殊字符
    linux Shell(待学)
    linux 管道相关命令(待学)
    linux用户权限、系统信息相关命令(待学)
  • 原文地址:https://www.cnblogs.com/nshuai/p/10842556.html
Copyright © 2020-2023  润新知