温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
Fayson的github:https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
在集群安装初期由于未规范集群HOSTNAME,带来集群管理的不便,现需要将CDH集群的HOSTNAME统一规范化,在修改HOSTNAME的过程中需要注意什么?本篇文章Fayson主要介绍如何修改Kerberos环境下的CDH集群的HOSTNAME。修改集群所有主机的hostname的步骤如下:
- 内容概述
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服务
停止成功
2.停止Cloudera Management Service服务
3.停止Cloudera Manager Server服务
登录CM服务所在节点执行如下命令停止服务
代码语言:javascript复制[root@ip-172-31-2-37 ~]# systemctl stop cloudera-scm-server
(可左右滑动)
7180端口无法访问则表示停止成功
4.停止集群所有节点的cloudera-scm-agent服务
Fayson这里使用批量脚本执行
代码语言:javascript复制[root@ip-172-31-2-37 shell]# sh ssh_do_all.sh node.list "systemctl stop cloudera-scm-agent"
(可左右滑动)
4.修改集群HOSTNAME
1.执行如下命令修改集群的HOSTNAME,以172.31.2.37为例
代码语言:javascript复制[root@ip-172-31-2-37 shell]# hostnamectl set-hostname cdh01.fayson.com
[root@ip-172-31-2-37 shell]# hostname
(可左右滑动)
注意:按照需求将集群所有节点的HOSTNAME修改为指定的名称
2.修改/etc/hosts文件
代码语言:javascript复制[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
(可左右滑动)
3.将修改后的hosts文件同步至集群所有节点的/etc目录下
代码语言:javascript复制[root@ip-172-31-2-37 shell]# sh bk_cp.sh node.list /etc/hosts /etc/
(可左右滑动)
4.检查所有节点的HOSTNAME是否配置正确
代码语言:javascript复制[root@ip-172-31-2-37 shell]# sh ssh_do_all.sh node.list hostname
(可左右滑动)
5.修改krb5.conf配置文件
修改了KDC服务所在服务器的HOSTNAME,需要将相应的客户端配置修改/etc/krb5.conf文件,内容如下;
代码语言:javascript复制[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
(可左右滑动)
将/etc/krb5.conf文件同步至集群所有节点
代码语言:javascript复制[root@cdh01 shell]# sh bk_cp.sh node.list /etc/krb5.conf /etc/
(可左右滑动)
测试Kerberos服务是否正常
代码语言:javascript复制[root@cdh02 ~]# kinit fayson
Password for fayson@FAYSON.COM:
[root@cdh02 ~]# klist
(可左右滑动)
6.修改CM服务配置并启动
1.修改Cloudera Manager Server服务的数据库配置,配置文件/etc/cloudera-scm-server/db.properties
代码语言:javascript复制[root@ip-172-31-2-37 cloudera-scm-server]# vim /etc/cloudera-scm-server/db.properties
(可左右滑动)
将com.cloudera.cmf.db.host地址修改为新的HOSTNAME。
2.修改cloudera-scm-agent服务的配置,配置文件/etc/cloudera-scm-agent/config.ini
代码语言:javascript复制[root@ip-172-31-2-37 cloudera-scm-agent]# vim /etc/cloudera-scm-agent/config.ini
(可左右滑动)
注意:需要修改集群所有节点上的配置。
3.启动cloudera-scm-server服务
代码语言:javascript复制[root@cdh01 ~]# systemctl start cloudera-scm-server
[root@cdh01 ~]# netstat -apn |grep 7180
(可左右滑动)
4.启动集群所有节点的cloudera-scm-agent服务
代码语言:javascript复制[root@cdh01 shell]# sh ssh_do_all.sh node.list "systemctl start cloudera-scm-agent"
(可左右滑动)
7.修改集群服务配置
1.登录Cloudera Manager管理界面
2.修改集群所有服务的数据库配置信息
将所有服务的数据库HOSTNAME更改为修改后的HOSTNAME
保存配置。
3.修改CM中Kerberos配置信息
进入集群设置界面
将KDC和KADMIN指向的主机host更改为最新的HOSTNAME,并保存配置。
4.重新生成集群所有服务的Kerberos信息
进入主机列表界面
执行重新生成Keytab
生成成功
进入“管理”->“安全”界面查看集群所有服务的prinicipal账号信息
注意:重新生成Keytab时需要确保所有服务都是停止状态,这里旧的prinicipal信息也存在,但不影响集群服务使用,如果你有强迫症就是不想看到这些,可以在数据库中将cm库下的CREDENTIALS表数据删除,然后再重新生成。
5.启动Cloudera Management Service服务
服务启动成功
6.进入Hive服务,修改Hive元数据库配置
7.进入Sentry服务,修改Sentry元数据库配置
8.完成以上配置后,部署客户端配置
点击“部署客户端配置”
9.启动CDH集群
集群启动成功
集群各个服务状态正常
8.验证功能是否正常
1.集群的HOSTNAME已修改为最新
2.向集群提交一个MapReduce作业测试功能是否正常
代码语言:javascript复制[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
(可左右滑动)
作业运行成功
3.向集群提交Spark作业
代码语言:javascript复制[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
(可左右滑动)
作业运行成功
4.Hue测试
执行Impala操作
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干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操