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 高可用运维实战的主要内容,如果未能解决你的问题,请参考以下文章

CDH集成的kerberos迁移实战

CDH集成的kerberos迁移实战

0027-如何在CDH集群启用Kerberos

0027-如何在CDH集群启用Kerberos

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写