当前位置: 首页 > 后端技术 > Java

干货-如何修改现有ambari集群的主机名

时间:2023-04-01 23:43:06 Java

版本:ambari2.7.3,其他版本应该差不多1.背景描述微信里时不时会有小伙伴问我做了没有,for自己一些ambari集群修改主机名?之前修改过ip,但是没有修改hostname,所以只能给他提供一个官方的步骤:https://docs.cloudera.com/HDP...。不过后来经过小伙伴的反馈,还是修改成功了。最近有小伙伴也给出了自己的实践步骤:根据官方文档和朋友提供的实践步骤,我也来实践一下。2、节点描述我有两个ambari节点,主机名分别是server.data和agent.data。其中ambari-server安装在server.data上;ambari-agent都安装在两者上。三、实战操作1、禁用Kerberos官方文档中介绍,修改主机名前需要先禁用Kerberos。如果未启用Kerberos,请跳过此步骤。2.备份ambari数据库一般我会在mysql中保存ambari的元数据信息,ambari数据库中的hosts表会存放所有的主机信息。所以让我们先备份元数据,以便我们可以在必要时回滚。3.停止所有服务。有些服务配置会有主机信息,比如HDFS。如下图所示,主机配置就是配置的主机名。如果我们要修改主机名,那么这些配置也要修改,所以先停止所有服务。4.停止ambari-server和ambari-agent停止ambari-server进程,然后停止所有节点上的ambari-agent进程。5.修改主机名和/etc/hosts文件hostnamectlset-hostnamehdp1.datahostnamectlset-hostnamehdp2.datavim/etc/hosts10.255.20.139hdp1.data10.255.20.198hdp2.data需要确保/etc/所有ambari节点的hosts文件中的主机名全部更新到最新。6、测试是否免密码主要测试ambari-server节点和ambari-agent节点的免密码。虽然主机名已更改,但仍然可以免密码。第一次需要在~/.ssh/known_hosts注册信息,即需要输入yes/no。没问题,跳过它。7.创建修改主机名的json文件>cathostnames.json{"create17":{"server.data":"hdp1.data","agent.data":"hdp2.data"}}create17:YesAmbari创建hdp的集群名称。key是旧的主机名;值是新的主机名。8、修改ambari-server配置文件如果你的mysql所在的主机名被修改了,那你就得修改ambari-server配置文件了。否则,跳过此步骤。编辑/etc/ambari-server/conf/ambari.properties,修改mysql连接的主机名信息。将上图中的server.data修改为hdp1.data。9、执行命令ambari-serverupdate-host-nameshostnames.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文件中的hostname。11、修改ambari-agent配置如果是修改的ambari-server的主机名,那么就要修改ambari-agent配置。否则,可以省略此步骤。vi/etc/ambari-agent/conf/ambari-agent.ini注意:必须为每个ambari-agent节点修改此配置文件。12、修改ambari的hdp下载源链接这一步和第九步一样。都是修改hdp相关的yum离线源链接。如果你的yumofflinereposource是指定的ip,那么这一步也可以跳过。点击右上角的User->选择ManageAmbari->Versions->HDP-3.1.0.0,输入修改后保存如下图:13、再次查看服务的配置,查看主机名是否正确已被自动修改。经查看,服务中涉及到的主机名部分已经自动替换为新的主机名,nice~有兴趣的朋友可以研究下命令ambari-serverupdate-host-names。14、验证yuminstall是否正常。在上面的步骤中,如果我们修改了repo文件的主机名,我们需要进行验证。或者直接通过ambari界面向导安装一个服务来测试,或者直接在shell中执行,yuminstallxxx,装点东西测试一下。这一步我就不细说了,我测试了一下,可以正常安装。15、启动所有服务如果环境中使用了nameNodeHA,启动zookeeper后需要执行如下命令:hdfszkfc-formatZK-force启动所有服务时发现hbase在启动时报错,报交互使用hdfs,奇怪的是无法访问server.data主机名。通过ambari界面,查找hdfs服务的配置,发现配置又变了,如下图:是不是和刚刚安装部署knox或者新服务有关?我不知道,我们都需要尝试一下。最后修改HDFS的配置,将旧的主机名替换成新的主机名,所有安装的服务都会正常启动。16.启动Kerberos启用Kerberos后,确保已生成包含新主机名的新密钥表。4.总结以上是根据官方文档和朋友提供的步骤,以及自己的实战演练。如有修改不足之处,可以私聊我进行更正和补充。这篇文章也算是对支持和使用ambari的朋友们的一个小小的姿态。谢谢~本文由博客发布平台OpenWrite发布!