前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >博主好贴心,为已有的 ambari 集群修改主机名~

博主好贴心,为已有的 ambari 集群修改主机名~

作者头像
create17
发布2020-12-16 14:26:07
1.2K0
发布2020-12-16 14:26:07
举报
文章被收录于专栏:大数据实战演练

版本:ambari 2.7.3 ,其他版本应该也差不多是一样的

一、背景说明

时不时就有小伙伴微信里面问我有没有做过,为已有的 ambari 集群修改主机名?之前是有修改过 ip 的,主机名还真没修改过,只能给他提供一份官方的步骤:

https://docs.cloudera.com/HDPDocuments/Ambari-2.2.2.0/bk_ambari_reference_guide/content/ch_changing_host_names.html

不过经过后面小伙伴们的反馈,都修改成功了。最近有一位小伙伴还给出了他自己的实操步骤:

根据官方文档和朋友提供的的实操步骤,我也来实战演练一番。

二、节点说明

我有两台 ambari 节点,主机名分别是 server.data,agent.data 。

其中 ambari-server 安装在 server.data 上;ambari-agent 两台均有安装。

三、实操

1、禁用 Kerberos

官方文档上有描述,需要在修改主机名之前,禁用掉 Kerberos 。如果没开启 Kerberos 的话,可以略过这一步。

2、备份 ambari 数据库

一般,我会将 ambari 元数据信息保存在 mysql 中,ambari 数据库中的 hosts 表会存储着所有的主机信息。所以我们先备份一下元数据,以便必要时候回滚。

3、停止所有服务

有的服务配置会有主机信息,比如 HDFS ,如下图所示,host 配置都是配置的主机名。如果我们要修改主机名的话,那这些配置也得修改,所以先停掉所有服务再说。

4、停止 ambari-server 和 ambari-agent

停止 ambari-server 进程,然后也要停止所有节点上的 ambari-agent 进程。

5、修改主机名和/etc/hosts文件
代码语言:javascript
复制
hostnamectl set-hostname hdp1.data
hostnamectl set-hostname hdp2.data

vim /etc/hosts

代码语言:javascript
复制
10.255.20.139 hdp1.data
10.255.20.198 hdp2.data

需要确保所有 ambari 节点的 /etc/hosts 文件中的主机名都修改成了最新的。

6、测试免密是否可用

主要测试 ambari-server 节点 与 ambari-agent 节点的免密。

虽然修改了主机名,但是免密还是可用的。只是第一次免密的话,需要向 ~/.ssh/known_hosts 注册信息,也就是需要输入 yes/no 。问题不大,直接跳过。

7、创建用于修改主机名的 json 文件
代码语言:javascript
复制
> cat hostnames.json
{"create17":{"server.data":"hdp1.data","agent.data":"hdp2.data"}}
  • create17:是 ambari 创建 hdp 的集群名。
  • key 是旧主机名;value 是新主机名。
8、修改 ambari-server 配置文件

如果你的 mysql 所在的主机名已被修改,那么就得改一下 ambari-server 的配置文件。否则,这步略过。

编辑 /etc/ambari-server/conf/ambari.properties ,修改 mysql 连接的主机名信息。

要将上述图片中的 server.data 修改为 hdp1.data 。

9、执行命令
代码语言:javascript
复制
ambari-server update-host-names hostnames.json

在修改主机名的过程中,可以实时查看 ambari-server 的日志:tail -f /var/log/ambari-server/ambari-server.log

10、修改 yum 离线 repo 源

如果你的 yum 离线 repo 源是指定的 ip,那么,这一步也可以略过。

我是用的主机名配置的,所以,要修改成新主机名。

进入 /etc/yum.repos.d 目录,将 repo 文件中的旧主机名替换成新的。

比如:修改 ambari-hdp-1.repo 文件中的主机名。

11、修改 ambari-agent 配置

如果是修改的 ambari-server 的主机名,那么就得修改 ambari-agent 配置。否则,这步可以省略。

vi /etc/ambari-agent/conf/ambari-agent.ini

注意:每个 ambari-agent 节点的这个配置文件都要修改。

12、修改 ambari 的 hdp 下载源链接

该步骤和第九步是一个道理。都是修改 hdp 相关的 yum 离线源链接。如果你的 yum 离线 repo 源是指定的 ip,那么,这一步也可以略过。

右上角点击用户 -> 选择 Manage Ambari -> Versions -> HDP-3.1.0.0,进入如下图所示修改保存:

13、再次检查服务的配置,查看主机名是否已自动修改

经过查看,服务中涉及主机名的部分,已自动替换为新主机名,nice ~

感兴趣的朋友可以研究一下 ambari-server update-host-names 这个命令。

14、验证 yum install 是否正常

上面的步骤,我们如果修改了 repo 文件的主机名,那么需要验证一下。

或者直接通过 ambari 界面向导来安装某服务测试一下,或者直接在 shell 里面执行,yum install xxx,安装个东西测试一下。

这一步就不细说了,我测试了一下,是可以正常安装的。

15、启动所有服务

如果环境中用到了 nameNode HA ,那么需要在启动 zookeeper 之后,执行如下命令:

代码语言:javascript
复制
hdfs zkfc -formatZK -force

在启动所有服务的时候,发现 hbase 启动的时候报了错,报与 hdfs 交互时,无法访问 server.data 主机名,就很奇怪。通过ambari 界面,去 hdfs 服务的配置里面搜了一下,发现配置又被更改了,如下图所示:

难道和刚才安装部署 knox 或者新服务有关?不知道了,需要大家去尝试了。

最后修改了 HDFS 的配置,将旧主机名替换为新主机名,已安装的所有的服务就都启动正常了。

16、启动 Kerberos

启用 Kerberos 后,确保已生成了包含新主机名的新 keytab 。

四、总结

以上,就是基于官方文档和朋友提供的步骤,我自己的实战演练了。如果还有哪里修改的不充分,可以私聊我修正补充。这篇文章也算是给支持和使用 ambari 朋友的一份小心意吧。mua ~

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景说明
  • 二、节点说明
  • 三、实操
    • 1、禁用 Kerberos
      • 2、备份 ambari 数据库
        • 3、停止所有服务
          • 4、停止 ambari-server 和 ambari-agent
            • 5、修改主机名和/etc/hosts文件
              • 6、测试免密是否可用
                • 7、创建用于修改主机名的 json 文件
                  • 8、修改 ambari-server 配置文件
                    • 9、执行命令
                      • 10、修改 yum 离线 repo 源
                        • 11、修改 ambari-agent 配置
                          • 12、修改 ambari 的 hdp 下载源链接
                            • 13、再次检查服务的配置,查看主机名是否已自动修改
                              • 14、验证 yum install 是否正常
                                • 15、启动所有服务
                                  • 16、启动 Kerberos
                                  • 四、总结
                                  相关产品与服务
                                  云数据库 SQL Server
                                  腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档