HDP3.3.2.0-002实践试范(12)

概述(感谢hidataplus的共享共建,才有今天的分享_)

本文会分两个分支。FreeIPA、MIT Kerberos
先讲MIT Kerberos吧,这会简单点。
再讲FreeIPA。

起稿完后,觉得拆成2章会更好点。所以: 12章MIT Kerberos HA ;13章FreeIPA HA。

本文目的:为HDP 3.3.2.0的推广,接个力  MIT Kerberos HA

在这里插入图片描述
目录调整如下。。。水平有限,大师级别,包涵包涵,欢迎指点不足。

在这里插入图片描述

接前文总规划HDP3.3.2.0-002实践试范,展开第十二章

十二、集成 MIT Kerberos HA(增到到8台)

是开始之前。我会把所有服务停止下,关机。并做个整体快照。[目的是路演完 mit kerberos。可以回到快照点路演 freeipa]

启动所有机器。ambari 是顺机启动的。在这里插入图片描述

路演嘛。不会一上来就先搞个mit kerberos HA。
路演顺序:1 单个Kerberos;2 Ambari开启 kerberos ; 3 验证各组件及数据链路;4 扩展从机形成HA;5 Ambari设置kerberosHA。

12.1 单个MIT Kerberos [1.15.1] (环境准备)

新建vm 113

hostnamectl set-hostname kdc.tssj.com
vim /etc/hosts

192.168.1.113 kdc.tssj.com

12.1.1 安装Server

sudo yum install krb5-server krb5-libs krb5-workstation -y

12.1.2 配置(3处)

vim /etc/krb5.conf

dns_lookup_kdc = false
在这里插入图片描述

vim /var/kerberos/krb5kdc/kdc.conf

在这里插入图片描述

vim /var/kerberos/krb5kdc/kadm5.acl

在这里插入图片描述

12.1.3 初始化

kdb5_util create -s -r TSSJ.COM

Loading random data
Initializing database ‘/var/kerberos/krb5kdc/principal’ for realm ‘TSSJ.COM’,
master key name ‘K/M@TSSJ.COM’
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:

ll /var/kerberos/krb5kdc/ --多了4个文件

在这里插入图片描述

12.1.4 启动

sudo systemctl start  krb5kdc && sudo systemctl enable krb5kdc
sudo systemctl start  kadmin && sudo systemctl enable kadmin

12.1.5 添加管理员admin/admin

kadmin.local -q "addprinc -pw 123456 admin/admin"  #添加用户 123456
kadmin.local   #本地登录查看

在这里插入图片描述

12.1.6 安装Client

sudo yum install krb5-libs krb5-workstation -y

12.1.7 同步配置文件到集群所有客户机

[root@kdc ~]# scp /etc/krb5.conf 192.168.1.120:/etc/
[root@kdc ~]# scp /etc/krb5.conf 192.168.1.121:/etc/
[root@kdc ~]# scp /etc/krb5.conf 192.168.1.122:/etc/
[root@kdc ~]# scp /etc/krb5.conf 192.168.1.123:/etc/
[root@kdc ~]# scp /etc/krb5.conf 192.168.1.124:/etc/
[root@kdc ~]# scp /etc/krb5.conf 192.168.1.125:/etc/

12.1.8 客户机测试

kadmin -padmin/admin -w123456 "list_principals"

在这里插入图片描述

12.2 Ambari 开启 Kerberos

组件服务先不要启动。因为kerberos要重启服务的。

12.2.1 将KDC管理员凭据添加到Ambari凭据存储(可选的,可不做,但我会做^_^)

ambari-server setup-security --security-option=encrypt-passwords --master-key=123456 --master-key-persist=true
ambari-server restart

从生成凭据存储库:/var/lib/ambari-server/keys/credentials.jceks
查看:
keytool -list -keystore /var/lib/ambari-server/keys/credentials.jceks -storetype JCEKS -storepass 123456
在这里插入图片描述

12.2.2 开启 Kerberos

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
看。。要停止服务的哦。
在这里插入图片描述
出问题了。之前用ipa也出现过
在这里插入图片描述

12.3.3 进入分析状态。。。。。。。。。。。。

备份下来,看看。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看日志:

在这里插入图片描述

sudo vim /etc/sudoers # 试试

admin ALL=(ALL) NOPASSWD:ALL

在这里插入图片描述
在这里插入图片描述

可以了哦。唉。。

回看过程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

舒服了哈。。。
在这里插入图片描述

到此。开启 Kerberos 完成。

12.3.4 添加用户

用于测试

kadmin -padmin/admin -w123456 -q "addprinc -pw h123456 hdfs"
kadmin -padmin/admin -w123456 -q "addprinc -pw y123456 yarn"

12.2.5 安装MIT Kerberos Ticket Manager(windows)

1 配置 C:\ProgramData\MIT\Kerberos5\krb5.ini (本机hosts配置域名就不用说了吧)
在这里插入图片描述

2 配置firefox
about:config

 network.negotiate-auth.trusted-uris = ambari.tssj.com,master.tssj.com,metrics.tssj.com,slave123.tssj.com,slave124.tssj.com,slave125.tssj.com
 network.auth.use-sspi =  true

12.2.6 登录UI

在这里插入图片描述
在这里插入图片描述

12.3 Ranger 配置修改

之前是有权限,缺认证。现在补上认证了,得看看有没有水土不服呀^_^
发现 hdfs yarn hbase都异常。。。
在这里插入图片描述

看看它们的Config Properties:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

明白了,这正常才怪。
求助hidatapuls啰。。。
在这里插入图片描述
该问题于10月08号发布的HDP 3.3.2.0-003版本里修复了。我还没下载呢。我是09号路演到这发现的。哈哈。
在这里插入图片描述

我有一个问题想问很久,但又没问的:版本升级支持么?
3.2.1 -> 3.3.1-001 -> 3.3.1-002 ->3.3.1-003->3.3.1-004 ->3.3.2-001->3.3.2-002->3.3.2-003。

像这情况:002已经在路上了(或许在生产环境)。升级003?还是打补丁?只有找它爸爸了。(打个比喻呵)
最后方案有2种:
1,删除ranger有异常的service配置,及机器上的缓存目录,再重启对应组件服务,来触发service配置的重建。
2,替换脚本,重启对应组件服务。(好处是可以不用删除已经配置在用的service配置)。

修复过程:
1,替换脚本。ambari-servr,ambari-agent 都要替换。
ambari-common/src/main/python/resource_management/libraries/functions/ranger_functions_v2.py
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
在这里插入图片描述
在这里插入图片描述
顺此机会,验收下脚本有没有把问题改好。hdfs yarn hbase 都试下方案1 和 2。
hdfs 用方案1
要重开关ranger的hdfs插件来触发service配置重建。而不是“重启对应组件服务”。Test Connection 是ok的。
在这里插入图片描述

yarn 用方案1
service配置是重建了,但Test Connection 失败。
在这里插入图片描述
在这里插入图片描述
hbase 用方案2
service配置是重建了,但Test Connection 失败。
在这里插入图片描述

最后按大象意见,重启ranger。就好了。
在这里插入图片描述
我贴图下。重建后,好使的service配置内容吧。hdfs yarn hbase

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

再看这里的yarn是ha的(ambari master),但配置没处理好。
在这里插入图片描述
把ambari rm关了试试看:
在这里插入图片描述
再改为:
在这里插入图片描述
在这里插入图片描述
这已反馈给hidataplus。并接受会修复的

小结:
1,替换脚本可以不删除service配置。(脚本在hdp 3.3.2.0–003发布里有的)
2,不替换脚本,要删除service配置与各机器缓存目录。重开关ranger的相应插件来触发ranger重建service配置。
3,yarn 没有考虑高可用情况。

12.4 Keberos HA

开启kerberos并运作稳定,数据链路跑顺后。迭代Keberos HA 是自然的事情

从机怎么玩?(全量同步还是增量)

主从方案多种。思路都一样 主,从1,从2,,,从n
同步策略分全量、增量。
落地原则是:数据库较小和增量较小的环境用全量,增量同步比较适用于数据库大和增量大的环境。
此处路演嘛,不应搞太复杂:全量同步(主-从)
故扩展一从机即可。
新建vm 114

hostnamectl set-hostname kdc2.tssj.com
vim /etc/hosts
192.168.1.113 kdc.tssj.com
192.168.1.114 kdc2.tssj.com

12.4.1 安装 Kerberos(从机)

sudo yum install krb5-server krb5-libs krb5-workstation -y  # 与主机一样

12.4.2 修改 krb5.conf(主机)

vim /etc/krb5.conf

在这里插入图片描述

12.4.3 添加主从同步服务账号 & 生成keytab(主机)

kadmin.local -q "ank -randkey host/kdc.tssj.com@TSSJ.COM"
kadmin.local -q "ank -randkey host/kdc2.tssj.com@TSSJ.COM"
kadmin.local -q "xst host/kdc.tssj.com@TSSJ.COM"
kadmin.local -q "xst host/kdc2.tssj.com@TSSJ.COM"
klist -ket /etc/krb5.keytab

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

12.4.4 复制配置文件和keytab到从机(主机)

cd /var/kerberos/krb5kdc
scp .k5.TSSJ.COM kdc2.tssj.com:\$PWD
scp kadm5.acl kdc2.tssj.com:\$PWD
scp kdc.conf kdc2.tssj.com:\$PWD
cd /etc
scp krb5.keytab kdc2.tssj.com:\$PWD
scp krb5.conf kdc2.tssj.com:\$PWD

12.4.5 从机启动 kpropd(需创建kpropd.acl)(从机)

5.1 创建 kprop服务权限文件
vim /var/kerberos/krb5kdc/kpropd.acl – 将导致kadmin认为此节点是从机而不能启动,所以如果有从机启动kadmin服务的需求,建议kprop配置放在别目录,此次处放置在/etc/krb5.conf.d目录

vim /etc/krb5.conf.d/kpropd.acl

host/kdc.tssj.com@TSSJ.COM
host/kdc2.tssj.com@TSSJ.COM

5.2 启动kprop同步服务

/usr/sbin/kpropd -a /etc/krb5.conf.d/kpropd.acl

12.4.6 同步数据库(主机)

kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
kprop -f /var/kerberos/krb5kdc/slave_datatrans -d -P 754 kdc2.tssj.com 

在这里插入图片描述

从机生成文件(from_master、principal)
在这里插入图片描述

12.4.7 从机启kdc(从机)

sudo systemctl start krb5kdc && systemctl enable krb5kdc  # 跟主机一样
kadmin.local -q "list_principals" # 测试下

账号都同步到从机了。
在这里插入图片描述

12.4.8 编辑同步脚本 & 执行(主机)

编辑同步脚本

vim /var/kerberos/kprop_trans.sh

#!/bin/bash
LOGFILE=/var/kerberos/jump.log
kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
CURRENT_TIME=$(date)
SUFFIX=$(date “+%Y.%m.%d”)
echo $CURRENT_TIME >> $LOGFILE.${SUFFIX}
/usr/sbin/kprop -f /var/kerberos/krb5kdc/slave_datatrans -d -P 754 kdc2.tssj.com >> ${LOGFILE}.${SUFFIX}
END_TIME=$(date)
echo $END_TIME >> $LOGFILE.${SUFFIX}
echo “” >> $LOGFILE.${SUFFIX}

执行

chmod +x /var/kerberos/kprop_trans.sh
crontab -e
*/10 * * * * /var/kerberos/kprop_trans.sh
crontab -l

手动运行是能同步的。定时就不生效!!留下BUG 先[TODO]

12.4.9 测试

1,主机添加用户能否同步到从机。 OK

kadmin.local -q "addprinc -pw 123456 usertest01"  # 来回测试
kadmin.local -q "delete_principal usertest01"  # 来回测试
kadmin.local -q "list_principals" | grep test  # 来回测试

2,在客户机上kinit查看日志,发现日志刷在了 kdc节点。OK

[root@kdc ~]cat /var/log/krb5kdc.log | grep test

在这里插入图片描述

3,stop或kill掉主服务器的kdc,再次kinit,发现日志刷在了kdc2节点。OK

[root@kdc ~]# sudo systemctl stopt krb5kdc
[root@kdc2 ~]# cat /var/log/krb5kdc.log | grep test

在这里插入图片描述

[root@kdc ~]sudo systemctl start krb5kdc # 测试完恢复

到此,扩展从机形成HA完成。

12.5 Ambari设置kerberosHA

添加从机host即可。
在这里插入图片描述
适当重启
在这里插入图片描述

回顾:

路演顺序:(从无到有的实际迭代顺序也如此)
1 单个Kerberos;
2 Ambari开启 kerberos ;
3 验证各组件及数据链路;
4 扩展从机形成HA;
5 Ambari设置kerberosHA。

梳理扩展从机作全量同步流程:(简单化)
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值