CDH启用kerberos 高可用运维实战
Posted 涤生大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH启用kerberos 高可用运维实战相关的知识,希望对你有一定的参考价值。
一、背景说明
在前的文章中介绍过《CDH集成的kerberos迁移实战》,由此也考虑到kerberos单节点可能引发的线上事故,所有考虑到把线上kerberos服务启用高可用。
二、环境介绍
系统版本 | CentOS Linux release 7.6.1810 (Core) |
CM版本 | |
Kerberos版本 |
三、实操步骤
备节点的操作:
第一步:备节点安装kerberos服务
yum install -y krb5-server krb5-workstation krb5-libs krb5-devel |
主节点的操作:
第二步:主节点配置更改【/etc/krb5.conf】
说明:只需要在realms中添加备节点的信息,其他信息无需更改
重点说明:配置文件中主节点的信息一定要在备节点的信息上面,不然在后面的同步数据中会出错。
修改完上面的配置信息后,需要将此配置/etc/krb5.conf信息同步到集群中的其他客户端节点,然后重启krb5kdc和kadmin服务;
systemctl restart krb5kdc systemctl restart kadmin |
第三步:创建用于主备节点同步数据的认证账号
[root@10-21-143-228-vm-jhdxyjd ~]# kadmin.local kadmin.local: addprinc -randkey host/主节点主机名@域名 kadmin.local: addprinc -randkey host/备节点主机名@域名 kadmin.local: kadmin.local: ktadd host/主节点主机名 kadmin.local: ktadd host/备节点主机名 |
说明:### 使用随机生成秘钥的方式创建同步账号,并使用ktadd命令生成同步账号的keytab文件,默认文件生成在/etc/krb5.keytab下,生成多个账号则在krb5.keytab基础上追加。
第四步:同步配置信息
需要将主节点上一下配置文件同步到备节点主机上的相同路径下:
l/etc/krb5.keytab
l/etc/krb5.conf
l/var/kerberos/krb5kdc/kadm5.acl
l/var/kerberos/krb5kdc/kdc.conf
l/var/kerberos/krb5kdc/.k5.域名【这个配置文件是隐藏文件,切记不要忘记同步】
备节点上操作:
第五步:备节点新增配置文件
Vim /var/kerberos/krb5kdc/kpropd.acl
说明:这个配置文件是不存在的,需要新增,且文件名不能更改
这里的内容就是第三步中添加的主体名称
host/主节点主机名@域名 host/备节点主机名@域名 |
第六步:启动kprop服务
systemctl start kprop |
主节点的操作:
第七步:同步KDC数据库文件数据
1.使用kdb5_util命令导出Kerberos数据库文件,生成两个文件;
cd /var/kerberos/krb5kdc/ kdb5_util dump master.dump |
2.使用kprop工具将数据导入到备节点;
kprop -f /var/kerberos/krb5kdc/master.dump -d -P 754 备节点主机名 |
备节点的操作:
第八步:验证kdc数据
在备节点上会新增以下文件
使用kadmin.loacl指令验证数据
第九步:测试备节点的可用性
通过在备节点上启用krb5kdc和kadmin服务,然后再客户端验证用户是否可以正常认证;
1.先停止kprop服务
systemctl stop kprop |
2.将认证文件备份
cd /var/kerberos/krb5kdc mv kpropd.acl kpropd.acl-back |
3.启动备节点的krb5kdc和kadmin服务
systemctl start krb5kdc systemctl start kadmin |
4.查看服务状态正常;
客户端节点操作:
在集群中任意一个客户端节点(已加入kerberos认证),修改/etc/krb5.conf配置文件,将主节点的配置零时删除或者注释掉;
随便找一个用户,测试kinit是否正常;
特别说明:这样以后主节点出现问题;只需要在cm界面修改配置《参考CDH集成的kerberos迁移实战》即可立即恢复服务,对线上集群的正常认证无感;
以上是关于CDH启用kerberos 高可用运维实战的主要内容,如果未能解决你的问题,请参考以下文章