温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在集群安装初期由于未规范集群HOSTNAME,带来集群管理的不便,现需要将CDH集群的HOSTNAME统一规范化,在修改HOSTNAME的过程中需要注意什么?本篇文章Fayson主要介绍如何修改Kerberos环境下的CDH集群的HOSTNAME。修改集群所有主机的hostname的步骤如下:

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(1)

  • 内容概述

1.环境说明及停止集群服务

2.修改集群HOSTNAME及集群服务配置

3.功能验证

  • 测试环境

1.CM和CDH版本为5.12.1

2.采用root用户操作

3.操作系统Redhat7.4

  • 前置条件

1.集群已启用Kerberos

2.环境说明


集群原始HOSTNAME说明

IP地址

HOSTNMAE

节点说明

172.31.2.37

ip-172-31-2-37.ap-southeast-1.compute.internal

CM、NN、MySQL、KDC

172.31.13.84

ip-172-31-13-84.ap-southeast-1.compute.internal

DataNode

172.31.11.224

ip-172-31-11-224.ap-southeast-1.compute.internal

DataNode

172.31.1.203

ip-172-31-1-203.ap-southeast-1.compute.internal

DataNode

需要修改为HOSTNAME列表

IP地址

HOSTNMAE

节点说明

172.31.2.37

cdh01.fayson.com

CM、NN、MySQL、KDC

172.31.13.84

cdh02.fayson.com

DataNode

172.31.11.224

cdh03.fayson.com

DataNode

172.31.1.203

cdh04.fayson.com

DataNode

3.停止集群所有服务


1.停止CDH服务

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(2)

停止成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(3)

2.停止Cloudera Management Service服务

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(4)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(5)

3.停止Cloudera Manager Server服务

登录CM服务所在节点执行如下命令停止服务

[root@ip-172-31-2-37 ~]# systemctl stop cloudera-scm-server

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(6)

7180端口无法访问则表示停止成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(7)

4.停止集群所有节点的cloudera-scm-agent服务

Fayson这里使用批量脚本执行

[root@ip-172-31-2-37 shell]# sh ssh_do_all.sh node.list "systemctl stop cloudera-scm-agent"

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(8)

4.修改集群HOSTNAME


1.执行如下命令修改集群的HOSTNAME,以172.31.2.37为例

[root@ip-172-31-2-37 shell]# hostnamectl set-hostname cdh01.fayson.com [root@ip-172-31-2-37 shell]# hostname

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(9)

注意:按照需求将集群所有节点的HOSTNAME修改为指定的名称

2.修改/etc/hosts文件

[root@ip-172-31-2-37 shell]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.31.2.37 cdh01.fayson.com 172.31.13.84 cdh02.fayson.com 172.31.11.224 cdh03.fayson.com 172.31.1.203 cdh04.fayson.com

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(10)

3.将修改后的hosts文件同步至集群所有节点的/etc目录下

[root@ip-172-31-2-37 shell]# sh bk_cp.sh node.list /etc/hosts /etc/

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(11)

4.检查所有节点的HOSTNAME是否配置正确

[root@ip-172-31-2-37 shell]# sh ssh_do_all.sh node.list hostname

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(12)

5.修改krb5.conf配置文件


修改了KDC服务所在服务器的HOSTNAME,需要将相应的客户端配置修改/etc/krb5.conf文件,内容如下;

[root@cdh01 ~]# vim /etc/krb5.conf … [realms] FAYSON.COM = { kdc = cdh01.fayson.com admin_server = cdh01.fayson.com } [domain_realm] .fayson.com = FAYSON.COM fayson.com = FAYSON.COM

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(13)

将/etc/krb5.conf文件同步至集群所有节点

[root@cdh01 shell]# sh bk_cp.sh node.list /etc/krb5.conf /etc/

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(14)

测试Kerberos服务是否正常

[root@cdh02 ~]# kinit fayson Password for fayson@FAYSON.COM: [root@cdh02 ~]# klist

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(15)

6.修改CM服务配置并启动


1.修改Cloudera Manager Server服务的数据库配置,配置文件/etc/cloudera-scm-server/db.properties

[root@ip-172-31-2-37 cloudera-scm-server]# vim /etc/cloudera-scm-server/db.properties

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(16)

将com.cloudera.cmf.db.host地址修改为新的HOSTNAME。

2.修改cloudera-scm-agent服务的配置,配置文件/etc/cloudera-scm-agent/config.ini

[root@ip-172-31-2-37 cloudera-scm-agent]# vim /etc/cloudera-scm-agent/config.ini

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(17)

注意:需要修改集群所有节点上的配置。

3.启动cloudera-scm-server服务

[root@cdh01 ~]# systemctl start cloudera-scm-server [root@cdh01 ~]# netstat -apn |grep 7180

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(18)

4.启动集群所有节点的cloudera-scm-agent服务

[root@cdh01 shell]# sh ssh_do_all.sh node.list "systemctl start cloudera-scm-agent"

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(19)

7.修改集群服务配置


1.登录Cloudera Manager管理界面

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(20)

2.修改集群所有服务的数据库配置信息

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(21)

将所有服务的数据库HOSTNAME更改为修改后的HOSTNAME

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(22)

保存配置。

3.修改CM中Kerberos配置信息

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(23)

进入集群设置界面

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(24)

将KDC和KADMIN指向的主机host更改为最新的HOSTNAME,并保存配置。

4.重新生成集群所有服务的Kerberos信息

进入主机列表界面

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(25)

执行重新生成Keytab

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(26)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(27)

生成成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(28)

进入“管理”->“安全”界面查看集群所有服务的prinicipal账号信息

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(29)

注意:重新生成Keytab时需要确保所有服务都是停止状态,这里旧的prinicipal信息也存在,但不影响集群服务使用,如果你有强迫症就是不想看到这些,可以在数据库中将cm库下的CREDENTIALS表数据删除,然后再重新生成。

5.启动Cloudera Management Service服务

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(30)

服务启动成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(31)

6.进入Hive服务,修改Hive元数据库配置

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(32)

7.进入Sentry服务,修改Sentry元数据库配置

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(33)

8.完成以上配置后,部署客户端配置

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(34)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(35)

点击“部署客户端配置”

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(36)

9.启动CDH集群

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(37)

集群启动成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(38)

集群各个服务状态正常

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(39)

8.验证功能是否正常


1.集群的HOSTNAME已修改为最新

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(40)

2.向集群提交一个MapReduce作业测试功能是否正常

[root@cdh02 ~]# kinit fayson Password for fayson@FAYSON.COM: [root@cdh02 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(41)

作业运行成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(42)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(43)

3.向集群提交Spark作业

[root@cdh02 ~]# klist [root@cdh02 ~]# spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --num-executors 4 --driver-memory 2g --driver-cores 1 --executor-memory 2g --executor-cores 1 /opt/cloudera/parcels/CDH/lib/spark/lib/spark-examples.jar 10

(可左右滑动)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(44)

作业运行成功

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(45)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(46)

4.Hue测试

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(47)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(48)

执行Impala操作

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(49)

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(50)

9.总结


  • 修改CDH集群的HOSTNAME,需要注意修改CM节点的HOSTNAME需要将集群所有AGENT节点执行CM的HOSTNAME配置信息更新。
  • MYSQL服务所在节点的HOSTNAME修改,则需要更新集群所有用到MYSQL服务的配置信息。
  • 修改了Kerberos服务器的HOSTNAME,需要更新krb5.conf配置并同步到集群的所有节点。
  • 群集启用了Kerberos,需要在Cloudra Manager上为所有服务重新生成Keytab信息,重新生成keytab需要停止停止除cloudera-scm-server外的所有服务。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

kerberos切换用户(0272-如何修改Kerberos的CDH集群的HOSTNAME)(51)

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

,