前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ambari 注册主机失败解决方案汇总

Ambari 注册主机失败解决方案汇总

作者头像
create17
发布2022-11-17 09:36:07
1.6K0
发布2022-11-17 09:36:07
举报
文章被收录于专栏:大数据实战演练

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。

放弃不难,但坚持很酷~

1、前言

今天又有朋友咨询我 ambari 相关的问题,注册主机步骤出错。他说他试了好几次,无奈只能加我好友来寻求帮助。

经过我俩的分析与探讨,完美将问题解决。自认为该问题比较经典,有总结的必要,所以就有了本篇文章,希望后来者遇到类似错误,可以有个参考。

2、问题详情

点击 “Failed” 可查看失败详情,如下图所示:

也可以去报错的节点查看 /var/log/ambari-agent/ambari-agent.log 文件内容,看看还有没有别的发现。这里,报错日志和上述错误描述一致。

3、排查步骤

可参考社区讨论帖:

https://community.cloudera.com/t5/Support-Questions/Openssl-error-upon-host-registration/td-p/94255

1)排查 ambari-agent.ini 配置

ambari 注册主机,ambari-agent 节点会去连接 ambari-server 节点,如上图所示:Connecting to Ambari server at …

所以需要确保 /etc/ambari-agent/conf/ambari-agent.ini 文件中的 server.hostname 为 ambari-server 节点主机名或 ip 。例如:

hdp1.com 为 ambari-server 节点所在主机

配置如果修改,需要重启 ambari-agent 进程才可以生效,然后我们继续通过 ambari 界面来注册主机进行尝试。

(我那朋友就是这个地方配置错了,他以为这个地方是填写当前机器主机名)

这里要特别强调一点:ambari server 在注册主机时,如 ambari-agent 未安装,则会自动安装并修改本配置,修改成 ambari-server 节点名称,该配置文件默认不必修改。

2)openssl 版本不对
代码语言:javascript
复制
$ tail -f /var/log/ambari-agent/ambari-agent.log
INFO 2018-08-09 16:39:42,666 NetUtil.py:70 - Connecting to https://xxxx:8440/ca
ERROR 2018-08-09 16:39:42,669 NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)
ERROR 2018-08-09 16:39:42,669 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
Refer to: https://bugzilla.redhat.com/show_bug.cgi?id=1022468 for more details.
WARNING 2018-08-09 16:39:42,669 NetUtil.py:124 - Server at https://xxxx:8440 is not reachable, sleeping for 10 seconds...
INFO 2018-08-09 16:39:52,669 NetUtil.py:70 - Connecting to https://xxxx:8440/ca
ERROR 2018-08-09 16:39:52,672 NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)
ERROR 2018-08-09 16:39:52,672 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
Refer to: https://bugzilla.redhat.com/show_bug.cgi?id=1022468 for more details.
WARNING 2018-08-09 16:39:52,672 NetUtil.py:124 - Server at https://xxxx:8440 is not reachable, sleeping for 10 seconds...

经过分析上述日志,初步判断可能是 openssl 版本不对。

代码语言:javascript
复制
[root@ambari ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[root@ambari ~]# rpm -qa | grep openssl
openssl-libs-1.0.2k-12.el7.x86_64
openssl-1.0.2k-12.el7.x86_64

如果低于 openssl-1.0.1e-16.el6.x86_64 版本,则需要更新到 openssl-1.0.1e-16.el6.x86_64 及以上版本。

3)编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用
代码语言:javascript
复制
# Possible values are:
# 'enable' to ensure HTTPS certificate verification is enabled by default
# 'disable' to ensure HTTPS certificate verification is disabled by default
# 'platform_default' to delegate the decision to the redistributor providing this particular Python version

# For more info refer to https://www.python.org/dev/peps/pep-0493/
[https]
verify=disable
4)查看机器 python 版本

查看 /var/lib/ambari-agent/ambari-env.sh,默认指定的 python 版本路径为 /usr/bin/python2,所以需要检查该路径是否真实有效。

5)确定 ambari 所有节点是 Oracle JDK 1.8

在执行 ambari-server setup 时,会提示你安装 Oracle JDK ,所以咱需要确保所有 ambari 节点都安装 Oracle JDK ,这里推荐 jdk 1.8 即可。

所有节点替换为 jdk 版本后,建议重启执行下 ambari-server setup,指定 jdk 版本及路径,然后重启各 ambari-agent 节点。

jdk 安装包如下载不到,需要帮助,可私聊或加我微信获取。

6)修改 /etc/ambari-agent/conf/ambari-agent.ini 的 security 配置:
代码语言:javascript
复制
[security]
ssl_verify_cert=0
force_https_protocol=PROTOCOL_TLSv1_2

需要重启 ambari-agent 进程。

7)检查环境
  • 确保 selinux、防火墙都处于关闭状态。
  • 确保 /etc/hosts 文件中包含 ambari 各节点。
  • 确保 ambari-server 节点可以免密各 agent 节点。

基于以上 7 种,逐一排查,应该就可以将主机注册成功了。如果还是不成功的话,可以私聊我或加我好友咨询。

4、注册主机过程

1)ambari-server 免密操作各 agent 节点,如该节点未安装 ambari-agent 服务,则安装 ambari-agent 服务,修改 ambari-agent.ini 服务,启动 ambari-agent 进程;否则跳过上述操作。

2)ambari-server 节点会自动根据你在页面上填写的 repo url ,自动生成 ambari-hdp-xxx.repo 文件,里面包含了 HDP、HDP-UTILS、HDP-GPL baseurl 地址。这样方便后续 agent 节点安装对于的 hdp 服务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据实战演练 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、前言
  • 2、问题详情
  • 3、排查步骤
    • 1)排查 ambari-agent.ini 配置
      • 2)openssl 版本不对
        • 3)编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用
          • 4)查看机器 python 版本
            • 5)确定 ambari 所有节点是 Oracle JDK 1.8
              • 6)修改 /etc/ambari-agent/conf/ambari-agent.ini 的 security 配置:
                • 7)检查环境
                • 4、注册主机过程
                相关产品与服务
                SSL 证书
                腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档