Kerberos 高可用配置

Kerberos 安装(主节点操作)

节点信息

data80
data81
data82
data83
  • 备注

    • 主Kerberos节点:data80
    • 备Kerberos节点:data81

安装 kdc server

  • 在KDC(name01)上安装包 krb5、krb5-server 和 krb5-client

    yum install krb5-server krb5-libs krb5-auth-dialog krb5-workstation  -y
    
  • 安装 krb5-devel、krb5-workstation

    yum install krb5-devel krb5-workstation -y
    

修改 krb5.conf

/etc/krb5.conf

includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = /etc/pki/tls/certs/ca-bundle.crtdefault_realm = HADOOP.COMdefault_ccache_name = KEYRING:persistent:%{uid}[realms]HADOOP.COM = {kdc = data80admin_server = data80kdc = data81admin_server = data81
}

同步配置文件

sudo scp /etc/krb5.conf  data81:/etc/
sudo scp /etc/krb5.conf  data82:/etc/
sudo scp /etc/krb5.conf  data83:/etc/

创建数据库(在data80节点)

kdb5_util create -r HADOOP.COM -s

启动服务(在data80节点)

chkconfig --level 35 krb5kdc on
chkconfig --level 35 kadmin on
service krb5kdc start
service kadmin start

创建主从同步账号,并为账号生成keytab文件

 sudo kadmin.localkadmin.local:  addprinc -randkey host/data80@HADOOP.COMkadmin.local:  addprinc -randkey host/data81@HADOOP.COMkadmin.local:  ktadd  host/data80@HADOOP.COMkadmin.local:  ktadd  host/data81@HADOOP.COM

使用随机生成秘钥的方式创建同步账号,并使用ktadd命令生成同步账号的keytab文件,默认文件生成在/etc/krb5.keytab下

复制以下文件到备Kerberos服务器相应目录

  • 将/etc目录下的krb5.conf和krb5.keytab文件拷贝至备Kerberos服务器的/etc目录下

  • 将/var/kerberos/krb5kdc目录下的.k5.HADOOP.COM、kadm5.acl和krb5.conf文件拷贝至备Kerberos服务器的/var/kerberos/krb5kdc目录

注意: .k5.HADOOP.COM 为隐藏文件,一定不要忘记拷贝

备Kerberos节点操作

需要申明用来同步的用户

在/var/kerberos/krb5kdc/kpropd.acl配置文件中添加对应账户,如果配置文件不存在则新增

cd /var/kerberos/krb5kdcsudo vim kpropd.aclhost/data80@HADOOP.COM
host/data81@HADOOP.COM

启动kprop服务并加入系统自启动

 sudo systemctl enable kpropsudo systemctl start kpropsudo systemctl status kprop

主节点数据同步至备节点

sudo kdb5_util dump /var/kerberos/krb5kdc/master.dump

导出成功后生成master.dump和master.dump.dump_ok两个文件。

在主节点上使用kprop命令将master.dump文件同步至备节点

sudo kprop -f /var/kerberos/krb5kdc/master.dump -d -P 754  data81
  • 日志

    3769 bytes sent.
    Database propagation to data81: SUCCEEDED
    

在备节点的/var/kerberos/krb5kdc目录下查看

-rw-------. 1 root root 3769 Apr  8 01:25 from_master
-rw-------. 1 root root   22 Apr  8 00:22 kadm5.acl
-rw-------. 1 root root  451 Sep 14  2019 kdc.conf
-rw-r--r--. 1 root root   46 Apr  8 00:27 kpropd.acl
-rw-------. 1 root root 8192 Apr  8 01:25 principal
-rw-------. 1 root root 8192 Apr  8 01:25 principal.kadm5
-rw-------. 1 root root    0 Apr  8 00:29 principal.kadm5.lock
-rw-------. 1 root root    0 Apr  8 01:25 principal.ok

在备节点的/var/kerberos/krb5kdc目录下增加了如下文件:

  • from_master
  • principal
  • principal.kadm5
  • principal.kadm5.lock
  • principal.ok

在备节点上测试通过过来的数据是否能启动Kerberos服务

  • 首先将kprop服务停止,将kpropd.acl文件备份并删除,然后启动krb5kdc和kadmin服务

    sudo systemctl stop kprop
    sudo mv /var/kerberos/krb5kdc/kpropd.acl/var/kerberos/krb5kdc/kpropd.acl.bak
    sudo systemctl start krb5kdc
    sudo systemctl start kadmin
    
  • 修改备服务器的/etc/krb5.conf文件,将kdc和kadmin_server修改为备ls -l服务器地址,测试kinit是否正常

     HADOOP.COM = {# kdc = data80# admin_server = data80kdc = data81admin_server = data81
    }
    

设置定时

 crontab -e*/5 * * * * root/var/kerberos/krb5kdc/kprop_sync.sh >/var/kerberos/krb5kdc/lastupdate

常见问题

  • list 无权限

    kadmin:  list_principals
    get_principals: Operation requires ``list'' privilege while retrieving list.
    

参考资料

  • https://cloud.tencent.com/developer/article/1078314

  • http://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/kadm5_acl.html

Kerberos HA高可用配置相关推荐

  1. DataX Hdfs HA(高可用)配置支持

    官方文档地址 DataX HdfsReader 插件文档 DataX HdfsWriter 插件文档 Reader插件文档明确说明 而配置中又有HA相关配置 没办法只能试试呗!Reader和Write ...

  2. hadoop的HA高可用配置(没有搞完)

    hadoop的HA主要是两部分,一部分是namenode的备份,一部分是datanode备份. namenode和datanode一般尽量不在一个节点上, 这样namenode挂掉一个,还会有另外一个 ...

  3. canal+zookeeper+mysql高可用配置

    一.部署环境 1.基础环境: 软件 版本 作用 Linux Centos7.1,8g Jdk 1.8.0_151 canal 1.1.1 canal server端,与mysql和zookeeper交 ...

  4. MyCat双机HA高可用集群搭建_HAProxy安装和配置---MyCat分布式数据库集群架构工作笔记0028

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 前面我们说了mycat部署HA高可用的架构,这里我们来实现它 首先我们去装HAProxy 下载了H ...

  5. Centos7.6+Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    本文转自https://mshk.top/2019/03/centos-hadoop-zookeeper-hbase-hive-spark-high-availability/,因为原链接打不开,故在 ...

  6. VMware vSphere 7 服务器ESXi虚拟化HA高可用解决方案

    一.    服务器虚拟化方案简介 服务器虚拟化是什么 将服务器物理资源抽象成逻辑资源,让一台物理服务器变成多台相互隔离的虚拟服务器.采用云计算数据中心解决方案后,可以让硬件资源利用率更好.能耗更低:从 ...

  7. HA 高可用之V1版

    HA(High Available), 高可用性群集,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点.通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的 ...

  8. HA高可用完全分布式集群 HDFS搭建

    HDFS HA 需要 设置静态IP.安装 jdk.设置ssh无密码登录.安装zookeeper.安装hadoop. 在Hadoop2.X之前,Namenode是HDFS集群中可能发生单点故障的节点,每 ...

  9. Storm集群开启HA高可用

    Storm开启HA高可用,包括Nimbus和UI开启两个及以上的进程. 基于已经安装好的Storm集群,开启关键节点角色的HA高可用. Storm安装请参考Storm集群安装Version1.0.1 ...

最新文章

  1. Premiere做影片时四周的黑框
  2. MySQL介绍与语言结构
  3. 使PropertyGrid控件的属性值可以显示多行的方法
  4. 小bat大装逼(▼へ▼メ)
  5. MySQL的CRUD操作+使用视图
  6. 无心剑中译叶芝《情愁》
  7. 软件加入使用时间_Mac实用菜单栏管理小工具 Bartender 3 | Mac软件天堂
  8. hibernate5(8)操纵对象入门[3]操控对象封装方法
  9. SpringBoot-JPA删除不成功,只执行了查询语句
  10. CodeUI Test:UIMap录制文件分析一
  11. 开源软件、自由软件及免费软件的区别
  12. HTML jquery笔试题,2019Web前端面试题及答案汇总-Jquery篇
  13. 七彩安卓影视APP源码独立解析接口
  14. .NET 通过Word模板,使用AsposeWord进行数据动态导出Word
  15. 上拉加载更多即ion-content遇上slideBox的时候
  16. 电脑的wifi天线原理_无线网络 WIFI天线原理 (DIY天线知识学习)上文
  17. 计算机键盘交替换键是,用了这么久电脑,还不知道键盘上的Ctrl、Tab、Alt是啥英文?快来涨知识!...
  18. ps4变更账号服务器,ps4怎么变更账户邮箱-ps4更改账户邮箱的方法
  19. Wandb——Pytorch模型指标可视化及超参搜索
  20. javascript 在页面显示xxxx年xx月xx日

热门文章

  1. 微信小程序快速提升访问量
  2. 如何保持较长时间的专注
  3. svn: Failed to add directory '../target': an unversioned directory of the same name already exis
  4. GitHub使用——官网指南
  5. 程序员客栈V4.24版本:设置主页访问密码
  6. jQuery实现表格导出Excel功能
  7. 淘宝店铺将导航和店招修改成通栏
  8. 值得收藏-装修攻略全
  9. 计算机专业专硕,2018厦门大学计算机专硕考研经验贴(专业课干货!!)
  10. JAVA设计模式总结之23种设计模式(重点!!!)