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

时间:2022-06-05
本文章向大家介绍如何将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

(可左右滑动)

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

(可左右滑动)

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

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

(可左右滑动)

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
 }

(可左右滑动)

5.创建KDC服务数据库

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

(可左右滑动)

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

(可左右滑动)

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

4.迁移原Kerberos数据


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

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

(可左右滑动)

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

(可左右滑动)

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

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

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

5.修改CDH集群中Kerberos配置


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

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

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

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的问题。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。