我在三台虚拟机上安装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的重试安装依旧报同样错误
不知各位有没有遇到过这种情况,希望能够指点一二,谢谢。
<p>经过测试,是因为开启了Auto-TLS导致了无法接收 Agent 发出的检测信号,重装时不开启Auto-TLS就没有这个问题了。不过我是在安装Manager后启动server之前才开启Auto-TLS的,不知道跟这个有没有关系</p>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。