• 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迁移实战》即可立即恢复服务,对线上集群的正常认证无感;

  • 相关阅读:
    python基础语法(2)
    【strcat函数和strncat函数的对比与模拟实现】
    重要消息丨.NET Core 3.1 将于今年12月13日结束支持
    玄机-第一章 应急响应- Linux入侵排查
    SparkCore、SparkSQL、SparkStreaming三者之间的区别和联系
    【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6(数据预处理)
    某小厂java后端初面,记录一下
    Spark-机器学习(4)回归学习之逻辑回归
    【文章学习系列之模型】DAGMM
    【C语言】冒泡排序升级版---适用任意类型
  • 原文地址:https://blog.csdn.net/qq_26442553/article/details/127993075