乐趣区

关于java:干货-如何为已有的-ambari-集群修改主机名

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

一、背景阐明

时不时就有小伙伴微信外面问我有没有做过,为已有的 ambari 集群批改主机名?之前是有批改过 ip 的,主机名还真没批改过,只能给他提供一份官网的步骤:https://docs.cloudera.com/HDP…。不过通过前面小伙伴们的反馈,都批改胜利了。最近有一位小伙伴还给出了他本人的实操步骤:

依据官网文档和敌人提供的的实操步骤,我也来实战演练一番。

二、节点阐明

我有两台 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 文件

hostnamectl set-hostname hdp1.data
hostnamectl set-hostname hdp2.data

vim /etc/hosts

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 文件

> 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、执行命令

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 之后,执行如下命令:

hdfs zkfc -formatZK -force

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

难道和方才装置部署 knox 或者新服务无关?不晓得了,须要大家去尝试了。

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

16、启动 Kerberos

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

四、总结

以上,就是基于官网文档和敌人提供的步骤,我本人的实战演练了。如果还有哪里批改的不充沛,能够私聊我修改补充。这篇文章也算是给反对和应用 ambari 敌人的一份小情意吧。谢谢~

本文由博客一文多发平台 OpenWrite 公布!

退出移动版