CDH安装时,部分节点不受管控
解决方案:
- /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent stop
- cd /opt/cm-5.12.0/lib/cloudera-scm-agent/
- rm -rf uuid
问题描述:
使用CDH 5.2版本安装时,agent节点有12个。按照安装说明,在各个节点启动cm-agent之后,发现只有6个节点能被纳管。其它的节点总是无法加入纳管中。 在确认防火墙已经关闭后,仍然无法解决问题
问题分析:
1. 查看已经加入纳管的节点,发现这6个节点并不是固定的,有一个节点是不断变换的。查看数据库中。
mysql> select * from HOSTS;
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
| HOST_ID | OPTIMISTIC_LOCK_VERSION | HOST_IDENTIFIER | NAME | IP_ADDRESS | RACK_ID | STATUS | CONFIG_CONTAINER_ID | MAINTENANCE_COUNT | DECOMMISSION_COUNT | CLUSTER_ID | NUM_CORES | TOTAL_PHYS_MEM_BYTES | PUBLIC_NAME | PUBLIC_IP_ADDRESS | CLOUD_PROVIDER |
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
| 1 | 2 | e1cd96e2-1a81-4788-819a-c607cef28cf9 | hadoop44 | 16.81.224.44 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 2 | 169084 | 0b24a203-4984-4de5-b529-5ef2039eb350 | hadoop28 | 16.81.224.28 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 3 | 1 | 3b1f5ce0-1105-4a0a-8cac-27bab6b0e487 | hadoop30 | 16.81.224.30 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 4 | 1 | 54efc787-ee3b-4a50-88ed-6796e7af71e6 | hadoop31 | 16.81.224.31 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 5 | 1 | 8fb5d069-7380-4a72-8d48-bd3ad63a0d4e | hadoop32 | 16.81.224.32 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 6 | 1 | ab2d6929-e8c9-4c51-9e6e-486e04f06a79 | hadoop33 | 16.81.224.33 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
6 rows in set (0.00 sec)
发现其中host id为0b24a203-4984-4de5-b529-5ef2039eb350 所对应的IP会不断变化。因此可以得出这样的一个结论: 页面会读取HOSTS中的数据,但是其中host_id不能重复,如果重复,就会不断的覆盖。
2. 再次查看28节点的日志,也可以看到它上告给server的host id的值:
[root@hadoop28 cloudera-scm-agent]# cat cloudera-scm-agent.log
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO SCM Agent Version: 5.2.0
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO Agent Protocol Version: 4
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO Using Host ID: 0b24a203-4984-4de5-b529-5ef2039eb350
因此,我们需要查看agent是如何获取的host id
3. 查看agent的启动脚本,可以知道:
/opt/cm-5.2.0/etc/init.d/cloudera-scm-agent -
--> /opt/cm-5.2.0/sbin/cmf-agent
而在cmf-agent中通过语句:
exec $CMF_PATH/agent/build/env/bin/python $CMF_PATH/agent/src/cmf/agent.py \
--package_dir $CMF_PATH/service --agent_dir $AGENT_RUNDIR \
--lib_dir $AGENT_LIBDIR --logfile $AGENT_LOG $*
在我调试的过程中其传递的参数为:
exec /opt/cm-5.2.0/lib64/cmf/agent/build/env/bin/python /opt/cm-5.2.0/lib64/cmf/agent/src/cmf/agent.py --package_dir /opt/cm-5.2.0/lib64/cmf/service --agent_dir /opt/cm-5.2.0/run/cloudera-scm-agent --lib_dir /opt/cm-5.2.0/lib/cloudera-scm-agent --logfile /opt/cm-5.2.0/log/cloudera-scm-agent/cloudera-scm-agent.log
4. 通过pdd对于agent.py脚本进行调试,可以知道它获取host_id的过程:
agent.py首选 进入到start()函数,然后再调用函数parse_arguments()解析参数。在这个parse_arguments函数中,它会调用
if args.host_id is None:
self.host_id = get_host_uuid(self.lib_dir) ----从这里获取host_id
else:
self.host_id = args.host_id
查看get_host_uuid的代码(在util.py中), 其中有一句:
uuid_path=os.path.join(lib_dir, "uuid") 其中lib_dir的值为/opt/cm-5.2.0/lib/cloudera-scm-agent, uuid为文件名。
再次查看一下果然存在此文件,而其中的值就是0b24a203-4984-4de5-b529-5ef2039eb350
到此,原因就很清楚了。在安装的时候,agent的节点的包是不是从server端拷贝过来的,而是从某个agent中拷贝过来的,因而把uuid这个文件也拷贝过来了。从而导致多个节点的uuid相同。
解决办法: 删掉uuid这个文件,让系统重新生成一个
CDH安装时,部分节点不受管控的更多相关文章
- CDH安装时,无法纳管全部的节点的一个bug
问题描述: 使用CDH 5.2版本安装时,agent节点有12个.按照安装说明,在各个节点启动cm-agent之后,发现只有6个节点能被纳管.其它的节点总是无法加入纳管中. 在确认防火墙已经关闭后 ...
- cdh 安装记录
安装文件准备 CDH 下载地址:http://archive.cloudera.com/cdh5/parcels/latest/ 下载操作系统对应的版本: 1.CDH-5.3.0-1.cdh5.3.0 ...
- CDH安装详细测试正确
1. CDH简介 简单来说,Cloudera Manager是一个拥有集群自动化安装.中心化管理.集群监控.报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到 ...
- CDH安装错误集锦
CDH安装过程中出现的错误 1.iptables: /sbin/iptables 不存在 我是因为误删将 /sbin/下的文件删除了. 解决方法: yum install iptables 2.c ...
- AWS-CDH5.5安装 CM配置节点
在CM节点上进行安装时出现错误: ================================================================================ Pa ...
- 如何诊断crs 安装时 root.sh 脚本执行错误
troubleshooting root.sh problem ------*for 10g and 11.1 1.查证公网,私网的节点名是可以互相ping通的 2.---查证OCR/Voting 文 ...
- 那些年我们装过的数据库---盘点sqlserver2008安装时遇到的各种的问题(持续更新中)
给自己安过sqlServer2008,也给好多同学安过sqlServer2008,期间遇到了好多不同的另人心烦的问题,在这里整理一下,(涉及到的部分方法是在网上找的,有些也没试过,仅仅是在这里整理一下 ...
- CDH 安装
CDH 安装 市场上免费大数据框架主要有三个版本,原生的 Apache 版本,Cloudera(https://www.cloudera.com/) 公司研发的(Cloudera Distributi ...
- apache安装时的一些术语
apache源码安装时,需要的哪些必须依赖模块? 主要需要apr, apr-util, pcre模块 其中 apr模块时必须的. 如何卸载 源码安装的软件? 在源码 的 解压目录下, 使用 make ...
随机推荐
- AtCoder Beginner Contest 076
A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...
- vue使用Vuex, IE浏览器报错
错误: [vuex] vuex requires a Promise polyfill in this browser. 原因:因为使用了 ES6 中用来传递异步消息的的Promise,而IE低版本 ...
- WebService简单使用教程
根据说明书获取信息 代码示例: import com.gyf.weather.ws.ArrayOfString; import com.gyf.weather.ws.WeatherWS; import ...
- 从分析攻击方式来谈如何防御DDoS攻击
DDoS攻击的定义: DDoS攻击全称——分布式拒绝服务攻击,是网络攻击中非常常见的攻击方式.在进行攻击的时候,这种方式可以对不同地点的大量计算机进行攻击,进行攻击的时候主要是对攻击的目标发送超过其处 ...
- EF部分字段修改 自动忽略为null字段
传入一个实体 student(){id = 1,name = "测试" age = null,sex = null} 下面 是修改的方法 public async Task Edi ...
- python程序超时处理 timeout_decorator
如下两个例子,实现对某个函数的超时处理(其实就是加了一个装饰器timeout): 成功例子: 代码: import time import timeout_decorator @timeout_dec ...
- Uber回馈开源的一些软件
AresDB AresDB 是 Uber 开源的一个基于 GPU 运算的实时分析存储引擎和查询引擎.具备低查询延迟.高数据刷新率和高效内存和磁盘存储管理.AresDB 要求 CUDA Toolkit ...
- Linux日常之命令uniq
命令uniq 作用是过滤文件内容重复部分 需要注意的是,该命令只是对相邻的行进行比较,若两个相同的行不相邻,不会被过滤掉 选项 -c,在每行行首显示出该行出现的次数 -d,只显示出重复的行 -u,只显 ...
- python修炼之路---面向对象
面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...
- ZROI 19.08.05模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(21pts:\) 随便枚举,随便爆搜就好了. \(65pts:\) 比较显然的dp,设\(f_{i,j,k}\)表示在子树\( ...