首页 新闻 会员 周边 捐助

CDH6在安装agent时,提示安装失败无法接收 Agent发出的检测信号

0
悬赏园豆:10 [已解决问题] 解决于 2018-10-11 09:25

我在三台虚拟机上安装CDH6,进行到在web界面安装agent这一步,在“等待新安装的 Agent 检测信号...”这一步等待了1分钟左右,提示如下错误:

安装失败。 无法接收 Agent 发出的检测信号。

  • 请确保主机的名称已正确配置。
  • 请确保端口 7182 可在 Cloudera Manager Server 上访问(检查防火墙规则)。
  • 请确保正在添加的主机上的端口 9000 和 9001 空闲。
  • 检查正在添加的主机上 /var/log/cloudera-scm-agent/ 中的代理日志(某些日志可在安装详细信息中找到)。
  • 如果在 Cloudera Manager 中启用为代理使用 TLS 加密(管理 -> 设置 -> 安全),请确保 /etc/cloudera-scm-agent/config.ini在正在添加的主机上有 use_tls=1。重启相应的代理,并单击此处的重试链接。

部署环境:

一台32GB的主机上的三台虚拟机,每台配置为2核CPU,8GB内存,40GB磁盘,虚拟机enp0s3网卡通过NAT使用主机网络连外网,enp0s8网卡通过桥接方式和主机形成局域网,主机+3台虚拟机网络互通,操作系统为CentOS7.2,安装了gnome

部署规划:

三台主机hostname分别为 cdh102、cdh103、cdh104,打算在cdh102上安装Manager,在cdh102/103/104上安装agent

安装过程:

通过下载CDH6和Manager的离线安装包到cdh102上,放置到http服务目录,在102/103/104上配置yum源到cdh102来实现离线安装,数据库使用官网推荐的MySQL版本,开启了Auto-TLS认证

排错过程:

根据安装agent的报错,我做了如下验证:

1)检查三台虚拟机的主机名

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.101 vm101
192.168.56.102 cdh102.pcicdh.com cdh102
192.168.56.103 cdh103.pcicdh.com cdh103
192.168.56.104 cdh104.pcicdh.com cdh104

cat /etc/hostname 
cdh103.pcicdh.com

cat  /etc/sysconfig/network
HOSTNAME=cdh102.pcicdh.com

都没有发现有写错的情况

2)检查Manager的7182端口是否可访问

nc -w 1 192.168.56.102 7182

运行时显示一个空行没有动静,尝试其他端口发现是提示错误:Ncat: Connection refused,显示空行没动静是否表示是能够访问的?

3)安装agent的主机上9000和9001端口是否空闲

其中的104上显示如下:
[root@cdh104 ~]# lsof -i:9000
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python2 2505 root    4u  IPv4  22121      0t0  TCP cdh104.pcicdh.com:cslistener (LISTEN)

[root@cdh104 ~]# ps -ef | grep 2505
root      2505  1068  1 09:24 ?        00:00:58 /usr/bin/python2 /opt/cloudera/cm-agent/bin/../bin/cm status_server
root      4905  2572  0 10:24 pts/0    00:00:00 grep --color=auto 2505

[root@cdh104 ~]# lsof -i:9001
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python2 4618 root   10u  IPv4  31088      0t0  TCP localhost:etlservicemgr (LISTEN)

[root@cdh104 ~]# ps -ef | grep 4618
root      4618     1  0 10:01 ?        00:00:13 /usr/bin/python2 /opt/cloudera/cm-agent/bin/cm agent
root      4927  2572  0 10:25 pts/0    00:00:00 grep --color=auto 4618

其他两台也是如此,说明agent是使用上9000和9001了

4)查看cdh104上的 /var/log/cloudera-scm-agent/cloudera-scm-agent.log 日志,寻找ERROR日志

[09/Oct/2018 10:27:24 +0000] 4618 MainThread agent        ERROR    Heartbeating to cdh102.pcicdh.com:7182 failed.
Traceback (most recent call last):
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/cmf/agent.py", line 1362, in _send_heartbeat
    self.cfg.max_cert_depth)
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/cmf/https.py", line 139, in __init__
    self.conn.connect()
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/httpslib.py", line 80, in connect
    sock.connect((self.host, self.port))
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/SSL/Connection.py", line 304, in connect
    ret = self.connect_ssl()
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/SSL/Connection.py", line 291, in connect_ssl
    return m2.ssl_connect(self.ssl, self._timeout)
SSLError: sslv3 alert bad certificate
[09/Oct/2018 10:27:29 +0000] 4618 MainThread agent        ERROR    Heartbeating to cdh102.pcicdh.com:7182 failed.
Traceback (most recent call last):
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/cmf/agent.py", line 1362, in _send_heartbeat
    self.cfg.max_cert_depth)
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/cmf/https.py", line 139, in __init__
    self.conn.connect()
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/httpslib.py", line 80, in connect
    sock.connect((self.host, self.port))
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/SSL/Connection.py", line 304, in connect
    ret = self.connect_ssl()
  File "/opt/cloudera/cm-agent/lib/python2.7/site-packages/M2Crypto/SSL/Connection.py", line 291, in connect_ssl
    return m2.ssl_connect(self.ssl, self._timeout)
SSLError: sslv3 alert bad certificate

从日志来看是cdh104无法发送心跳到cdh102的7182端口,但从第二点的 nc 命令来看是能够连通的,就是这个问题一直无法解决,也找不到其他报错的信息。

5)查看cdh104上的 /etc/cloudera-scm-agent/config.ini

安装时是开启了Auto-TLS的,从Manager的管理->配置->安全界面看到的“为代理使用 TLS 加密”也是开启的,cdh104上的 config.ini 文件中的 use_tls 配置为0,因此我尝试修改为1,保存后通过 systemctl restart cloudera-scm-agent.service 命令重启了cdh104上agent,其他2个虚拟机的该配置没有修改。在web界面上点击cdh104的重试安装依旧报同样错误

 

不知各位有没有遇到过这种情况,希望能够指点一二,谢谢。

在世界中心的主页 在世界中心 | 初学一级 | 园豆:191
提问于:2018-10-09 10:52
< >
分享
最佳答案
1

经过测试,是因为开启了Auto-TLS导致了无法接收 Agent 发出的检测信号,重装时不开启Auto-TLS就没有这个问题了。不过我是在安装Manager后启动server之前才开启Auto-TLS的,不知道跟这个有没有关系

在世界中心 | 初学一级 |园豆:191 | 2018-10-10 19:27
其他回答(2)
1

请问 这问题解决了吗 我也是这个问题

随学随写 | 园豆:202 (菜鸟二级) | 2018-10-21 19:24

解决了啊,就是我在最佳答案里的那个回答

支持(0) 反对(0) 在世界中心 | 园豆:191 (初学一级) | 2018-10-26 10:04
1

请问如何在重装时不开启Auto-TLS,有没有那个页面的一些特殊标记,我是向集群添加节点,仅安装了Agent,并没有遇到Auto-TLS

我只是一颗小小的石头 | 园豆:202 (菜鸟二级) | 2019-03-01 03:03

在官网提供的安装步骤里,在配置和连接数据库之前,有个步骤是执行一句命令开启 Auto-TLS认证 的,是官网推荐做的步骤,不执行就不开启,命令如下:

JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera /opt/cloudera/cm-agent/bin/certmanager setup --configure-services

支持(0) 反对(4) 在世界中心 | 园豆:191 (初学一级) | 2019-03-01 09:24

@在世界中心: 多谢,我的问题解决啦:可能由于集群中其他机器都是使用的mysql作为元数据存储,而我这台新增机器上虽不需要安装mysql,但忘了卸载自带的mariadb了。所用命令:rpm -qa|grep mariadb和rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64。
然后reboot后,再用这个http://www.cnblogs.com/gxgd/p/9583612.html。
最后进入CM-》主机-》所有主机,就看到那台机器了,再操作“向集群添加新主机”时,就可以正常选择“当前受管的主机”,而不再是通过输入主机名和它默认的端口这种方式进行手动安装,这样的话,就压根不会进入楼主报错的那整个页面(配置方式不同了,所以进入的页面不同,楼主那个页面完全可以避免进入)

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册