• 对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;

  • 相关阅读:
    [JavaScript]使用setTimeout减少多余事件
    Spring.NET教程(二)——环境搭建(基础篇) (转)
    IIS开启GZIP压缩效率对比及部署方法 (转)
    提高表格操作的十五款jQuery插件
    SQLServer和Oracle常用函数对比
    [hystar整理]Entity Framework 教程
    Remoting方法重载遇到的一个问题
    异变: input的背景background
    实时股票数据接口
    发现并解决ASP.NET内存耗尽(OOM),让服务器"永不重启"
  • 原文地址:https://www.cnblogs.com/nshuai/p/10842556.html
Copyright © 2020-2023  润新知