如何将CDH集群的KDC从RedHat7迁移到RedHat6

Posted Hadoop实操

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将CDH集群的KDC从RedHat7迁移到RedHat6相关的知识,希望对你有一定的参考价值。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​https://github.com/fayson/cdhproject​


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


1.文档编写目的



本篇文章Fayson主要介绍如何将CDH集群中的KDC服务从RedHat7迁移到RedHat6。


  • 文章概述

1.环境描述

2.安装新的KDC服务和迁移原KDC数据

3.CM修改Kerberos配置


  • 测试环境

1.CM和CDH5.15.0

2.现有集群操作系统RedHat7.4

3.新Kerberos节点操作系统RedHat6.5


2.环境描述



原KDC服务器


IP

HOSTNAME

服务

172.31.6.83

ip-172-31-6-83.ap-southeast-1.compute.internal

KDC和Kadmin


目标KDC服务器


IP

HOSTNAME

服务

172.31.11.138

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

KDC和Kadmin


3.安装新的Kerberos服务



1.选择Redhat6服务作为KDC服务器,执行如下命令安装KDC和KAdmin服务


[root@ip-172-31-11-138 ~]# yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop


2.修改/etc/krb5.conf文件,内容如下:


[root@ip-172-31-11-138 ~]# vim /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
allow_weak_crypto = yes
rdns = false
default_realm = FAYSON.COM
#default_ccache_name = KEYRING:persistent:%uid

[realms]
FAYSON.COM =
kdc = ip-172-31-11-138.ap-southeast-1.compute.internal
admin_server = ip-172-31-11-138.ap-southeast-1.compute.internal


[domain_realm]
.ap-southeast-1.compute.internal = FAYSON.COM
ap-southeast-1.compute.internal = FAYSON.COM

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop_02


3.修改kadm5.acl配置文件,内容如下:


[root@ip-172-31-11-138 ~]# vim /var/kerberos/krb5kdc/kadm5.acl 
*/admin@FAYSON.COM *

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop_03


4.修改kdc.conf文件,内容如下:


[root@ip-172-31-11-138 ~]# vim /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88

[realms]
FAYSON.COM =
#master_key_type = aes256-cts
max_renewable_life= 7d 0h 0m 0s
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop_04


5.创建KDC服务数据库


[root@ip-172-31-11-138 ~]# kdb5_util create –r FAYSON.COM -s 

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_服务器_05


6.启动krb5kdc和kadmin服务并将这两个服务添加到自启动服务中


[root@ip-172-31-11-138 ~]# service krb5kdc start
[root@ip-172-31-11-138 ~]# service kadmin start
[root@ip-172-31-11-138 ~]# chkconfig --add krb5kdc
[root@ip-172-31-11-138 ~]# chkconfig --add kadmin
[root@ip-172-31-11-138 ~]# chkconfig krb5kdc on
[root@ip-172-31-11-138 ~]# chkconfig kadmin on

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop_06


注意:需要确保原Kerberos的配置与新节点的Kerberos配置一致。


4.迁移原Kerberos数据



1.在原Kerberos服务所在服务器上执行如下命令,导出Kerberos数据


[root@ip-172-31-6-83 ~]# kdb5_util dump -b7 ip-172-31-6-83.kdc.dump

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_数据_07


2.将导出的ip-172-31-6-83.kdc.dump文件拷贝至新的Kerberos服务器上,在新的Kerberos服务器上执行如下命令将数据导入,命令如下:


[root@ip-172-31-11-138 ~]# kdb5_util load -b7 ip-172-31-6-83.kdc.dump

(可左右滑动)


如何将CDH集群的KDC从RedHat7迁移到RedHat6_服务器_08


3.验证账号是否导入成功


如何将CDH集群的KDC从RedHat7迁移到RedHat6_hadoop_09


4.将新Kerberos服务器上的/etc/krb5.conf文件分发至集群所有节点


如何将CDH集群的KDC从RedHat7迁移到RedHat6_服务器_10


注意:这里在做Kerberos数据迁移时,不要向原Kerberos中添加Principal账号,也不要在CM进行操作(如:添加、删除服务,新增节点等)。


5.修改CDH集群中Kerberos配置



1.使用管理员账号登录Cloudera Manager管理平台,点击“管理”下的“安全”,进入“Kerberos凭据”界面


如何将CDH集群的KDC从RedHat7迁移到RedHat6_服务器_11


2.点击“配置”,进入Kerberos配置界面,在配置界面搜索“Server”,将KDC和KDC Admin Server的主机修改为我们新部署的Kerberos节点


如何将CDH集群的KDC从RedHat7迁移到RedHat6_数据_12


保存配置即可,不需要重启服务。


6.总结



1.在做Kerberos服务迁移时需要注意,我们新装的Kerberos服务需要与原有Kerberos服务配置一致。


2.新节点安装完Kerberos服务后,需要创建相应域的数据库,将krb5kdc和kadmin服务添加到自启动列表并启动服务


3.需要将新的Kerberos服务器上/etc/krb.conf文件分发至集群的所有节点


4.通过CM修改KDC和KDC ADMIN服务的配置信息,不需要重启任何服务即可


5.将RedHat7中的Kerberos数据导出时需要增加-b7参数,新节点导入数据时也一样需要添加,因为RedHat6和Redhat7之间Kerberos版本不一致。高版本数据导入低版本Kerberos时需要注意。


6.在迁移Kerberos期间,不要向原Kerberos中添加Principal账号,也不要在CM进行操作(如:添加、删除服务,新增节点等),否则会导致服务或应用找不到Principal的问题。



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


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

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。



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

如何将CDH集群的KDC从RedHat7迁移到RedHat6_服务器_13

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


以上是关于如何将CDH集群的KDC从RedHat7迁移到RedHat6的主要内容,如果未能解决你的问题,请参考以下文章

CDH集成的kerberos迁移实战

0027-如何在CDH集群启用Kerberos

0027-如何在CDH集群启用Kerberos

hadoop hdfs 从 cdh3 迁移到 cdh4

cdh5.12.2 开启kerberos认证

CDH6.3.2 开启Kerberos 认证