CDH安装时,部分节点不受管控

解决方案:

  1. /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent stop
  2. cd /opt/cm-5.12.0/lib/cloudera-scm-agent/
  3. 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这个文件,让系统重新生成一个

原文地址:https://www.cnblogs.com/lingluo2017/p/8719702.html

时间: 2024-10-11 10:49:56

CDH安装时,部分节点不受管控的相关文章

RAC安装时需要执行4个脚本及意义

RAC安装时需要执行4个脚本 1) $ORACLE_BASE/oraInventory/orainstRoot.sh (clusterware 结束时执行) 2) $CRS_HOME/root.sh (clusterware 结束时执行) 3) $CRS_HOME/bin/vipca.sh(该脚本是在第二个节点执行$CRS_HOME/root.sh时被自动调用) 4) $ORACLE_HOME/root.sh (安装完数据库以后执行) 1. orainstRoot.sh 脚本 1.1 orain

搭建JEESZ分布式架构10-Redis分布式缓存安装(单节点)

Redis分布式缓存安装(单节点) Redis官网:http://redis.io独立缓存服务器:IP:xxx.xxx.xxx.xxx安装环境:CentOS 6.6Redis 版本:redis-3.0 (因为 Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,请在安装时去官网选用最新版)用户:root安装目录:/usr/local/redis 下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl 提醒:下载 3.0 版

那些年我们装过的数据库---盘点sqlserver2008安装时遇到的各种的问题(持续更新中)

给自己安过sqlServer2008,也给好多同学安过sqlServer2008,期间遇到了好多不同的另人心烦的问题,在这里整理一下,(涉及到的部分方法是在网上找的,有些也没试过,仅仅是在这里整理一下,特此声明) 错误一:创建 system.diagnostics 的配置节处理程序时出错:,这样的问题在检查配置时会一直要求重新启动 未能载入文件或程序集"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e08

Redis分布式缓存安装(单节点)

Redis分布式缓存安装(单节点) Redis官网:http://redis.io独立缓存服务器:IP:xxx.xxx.xxx.xxx安装环境:CentOS 6.6Redis 版本:redis-3.0(因为 Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,请在安装时去官网选用最新版)用户:root安装目录:/usr/local/redis 下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl 提醒:下载 3.0 版 R

mongodb集群安装及延迟节点配置

mongodb集群安装及延迟节点配置 本文主要介绍mongodb安装.副本集模式的配置.mongodb数据库的简单使用及延迟节点搭建和利用延迟节点恢复误删除的数据. 一.系统环境 平台:Centos6.6_x86_64 实验环境:四台主机部署副本集模式集群 主机:192.168.115.21.192.168.115.22.192.168.115.23.192.168.115.24 规划:21为master节点,22为副本节点,23为副本节点,24为延迟节点 目的:完成副本集模式集群的部署 测试延

SaltStack安装时python版本冲突导致安装失败

yum -y install salt-master 安装时,出现以下报错: file /usr/lib64/python2.6/zipfile.pyc from install of python-libs-2.6.6-66.el6_8.x86_64 conflicts with file from package python-2.6.6-36.el6.x86_64 file /usr/lib64/python2.6/zipfile.pyo from install of python-li

五,openstack之nova服务的安装(计算节点)

目录 openstack之nova服务的安装(计算节点) 一,计算节点安装部署nova 1,openstack安装服务的通用步骤 2,安装nova 3,修改nova的相关配置文件 4,确认计算节点是否支持虚拟机硬件加速 5,启动Compute服务及其相关服务,并将其配置为在系统启动时自动启动 6,查看程序启动状态 openstack之nova服务的安装(计算节点) 一,计算节点安装部署nova 1,openstack安装服务的通用步骤 1,创库授权 2,在keystone创建用户,关联角色 3,

搭建jeesz分布式架构-- Redis分布式缓存安装(单节点)

安装环境:CentOS 6.6Redis 版本:redis-3.0 (因为 Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,请在安装时去官网选用最新版)用户:root安装目录:/usr/local/redis下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl提醒:下载 3.0 版 Redis(当前最新版 redis-3.0.0-rc5.tar.gz,请在安装时去官网选用最新版)# cd /usr/local/src#

【ESXI6.0】 ESXI6.0安装时无法安装网卡驱动的解决方法及将网卡驱动加载进ISO

若安装时提示如下图所示 之后安装无法完成,会提示没有检测到网络适配器,如下图. 这时候需要将网卡驱动加载进ISO中才能在安装时候识别网卡驱动. 网卡驱动从这里下载: https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages 找到对应的型号.点击进入下一页下载. 需要使用如下工具: ESXi-Customizer-v2.7.2 http://pan.baidu.com/s/1eQ2f8