关键词:
解决方案:
- /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的值:
[[email protected] 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搭建目录大数据之—CDH搭建前言1、CDH概述2、安装CDH前准备3、配置4、下载安装包部署CDH所有节点都要安装的内容只有主节点node1上安装的内容所有节点修改agent配置,指向server节点node1主节点node1修改server配置主节点部... 查看详情
cdh5.10.0离线安装(共3节点)
1.安装方式CDH的离线部署安装,即Parcel包(推荐)2.角色规划三个节点对应的角色:3.基本环境配置(在每个节点上都要配置)(1)关闭防火墙#/etc/init.d/iptablesstop#chkconfig--level345iptablesoff(2)关闭seliux#vim/etc/sysconfig/selinuxSELINUX=disabled(3)i... 查看详情
cdh安装失败了,如何重新安装
1>删除Agent节点的UUID #rm-rf/opt/cm-5.12.0/lib/cloudera-scm-agent/*2> 清空主节点CM数据库 进入主节点的Mysql数据库,然后dropdatabasecm;3>删除Agent节点namenode和datanode节点信息 查看详情
1.安装cdh5.12.x
安装方式安装前准备安装步骤安装过程修改/etc/hosts设置ssh互信修改linux系统设置安装JDK1.8安装python2.7安装mysql/postgreysql数据库安装ntp设置本地yum源下载CDHparcels包安装CM使用yum安装CM安装agent进入CDH添加节点使用CM添加节点手动安装a... 查看详情
cdh6.2安装失败了,如何重新安装
CDH6.2安装失败了,如何重新安装 1>删除Agent节点的UUID # rm-rf/var/lib/cloudera-scm-agent/cm_guid2> 清空主节点CM数据库 进入主节点的mysql数据库,然后dropdatabasecm;3>删除Agent节点namenode和datanode节点信息 #rm-rf/opt... 查看详情
搭建cdh实验环境,以三个节点为例的安装配置
(一)实验环境l实验介质nCentOS-7-x86_64-Everything-1708.isonjdk-8u161-linux-x64.rpmncloudera-manager-centos7-cm5.12.1_x86_64.tar.gznCDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcelnCDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.s 查看详情
hadoop安装服务器-cdh6.2离线安装与web界面安装(代码片段)
Hadoop安装服务器-CDH6.2离线安装1.概述2.安装的步骤2.1安装CDH前的安装包准备2.2编辑/etc/hosts文件(每个节点)2.3关闭防火墙、禁止防火墙开机自启(每个节点)2.4ssh无密码登录2.5配置NTP服务(所有节点)2.6修改Linuxswappiness参数(所有节点)2.7... 查看详情
cdh搭建大数据集群(5.10.0)(代码片段)
...H介绍二、为什么选择CDH?三、CDH的版本选择 四、安装准备1.节点准备2.节点规划3.下载parcels文件4.tarball下载5.准备以下内容:五、系统初始化1.关闭防火墙(3个节点)2.配置主机名(3个节点)3.修改hosts... 查看详情
cdh搭建大数据集群(5.10.0)(代码片段)
...H介绍二、为什么选择CDH?三、CDH的版本选择 四、安装准备1.节点准备2.节点规划3.下载parcels文件4.tarball下载5.准备以下内容:五、系统初始化1.关闭防火墙(3个节点)2.配置主机名(3个节点)3.修改hosts... 查看详情
ubuntu14.04离线安装cdh5.6.0(代码片段)
官方安装文档:http://www.cloudera.com/documentation/enterprise/5-6-x/topics/installation.html相关包的下载地址:ClouderaManager地址:http://archive.cloudera.com/cm5/cm/5/CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.6.0/由于我们的操作系... 查看详情
cm和cdh的安装-进阶完成
安装ClouderaManagerServer和Agent1、在cdh1解压cloudera-manager-el6-cm5.9.0_x86_64.tar.gz(cdh1节点)tar-zcvfcloudera-manager-el6-cm5.9.0_x86_64.tar.gz 2、为ClouderaManager5建立数据库(cdh1节点)2.1:复制mysql-connector-ja 查看详情
zookeeper(135节点)集群安装
1节点1week110的zookeeper的安装+zookeeper提供少量数据的存储 3节点hadoop-2.6.0.tar.gz的集群搭建(3节点)hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建 5节点hadoop-2.6.0.tar.gz的集群搭建(5节点 查看详情
cdh5.12.0中扩容增加计算节点(代码片段)
...的集群环境进行扩容增加计算节点。1.1系统逻辑部署图1.2安装文件 查看详情
0110-如何给kerberos环境下的cdh集群添加gateway节点(代码片段)
...,客户端节点也会是ClouderaManager管理的一台机器,它会被安装cloudera-scm-agent服务,以及CDH的Parcel,部署客户端配置ClouderaManager会统一做,另外如果客户端机器出现异常,ClouderaManager也会告警。增加一台Gateway节点,与安装CDH非常... 查看详情
flinkflink批作业的运行时自适应执行管控(代码片段)
...更有效率,并且更容易运维。详细内容主要分为两个部分:自适应执行计划同源实例的并行执行Tips:点击「阅读原文」查看原文视频&演讲ppt我们先看一下,Flink是如何描述作业的执行计划的。以这个DataStream作... 查看详情
cdh安装包下载地址
cloudermanager安装包地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.3.0_x86_64.tar.gz,红色部分为版本号,修改红色部分即可获取不同版本的安装包CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.3/需要下载以下文件:CDH-5.3.0- 查看详情
cdh搭建大数据集群(5.10.0)(代码片段)
...H介绍二、为什么选择CDH?三、CDH的版本选择 四、安装准备1.节点准备2.节点规划3.下载parcels文件4.tarball下载5.准备以下内容:五、系统初始化1.关闭防火墙(3个节点)2.配置主机名(3个节点)3.修改hosts... 查看详情
cdh集群升级python3异常问题分析
...说明在CDH集群中所有节点/opt/cloudera/anaconda3部署了Python3的安装包,如下描述:[root@cdh02~]#/opt/cloud 查看详情