CDH集群离线搭建(适用内网)——Kerberos安装配置及使用⑨

集群权限集成

1.Kerberos安装

1.1 在主节点cloud01安装

#在主节点cloud01安装
yum -y install krb5-server  krb5-workstation   #krb5-auth-dialog

1.2 全部节点操作

#全部节点操作
yum -y install  krb5-libs  krb5-workstation    #krb5-auth-dialog

1.3 所有节点安装sasl工具

#所有节点安装sasl工具,impala启用kerberos时需要sasl工具,如已安装请忽略
yum -y install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5

1.4 修改krb5.conf文件

#进入文件
vim /etc/krb5.conf
#注释掉如下行,打开会引起错误:[Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]

# default_ccache_name = KEYRING:persistent:%{uid}
#装在主节点
cp -n /etc/krb5.conf /etc/krb5.conf.bak && \
sed -i 's/#//g' /etc/krb5.conf && \
sed -i 's/EXAMPLE.COM/HADOOP.COM/g' /etc/krb5.conf && \
sed -i 's/kerberos.example.com/cloud01/g' /etc/krb5.conf && \
sed -i 's/example.com/cloud01/g' /etc/krb5.conf && \
sed -i 's/ default_ccache_name/# default_ccache_name/g' /etc/krb5.conf && \
sed -i 's/ Configuration/# Configuration/g' /etc/krb5.conf
# 查看修改前和修改后的文件对比
diff /etc/krb5.conf.bak /etc/krb5.conf

1.5 修改/var/kerberos/krb5kdc/kdc.conf文件

修改EXAMPLE.COM为自己公司的域名

cp -n /var/kerberos/krb5kdc/kdc.conf /var/kerberos/krb5kdc/kdc.conf.bak && \
sed -i 's/EXAMPLE.COM/HADOOP.COM/g' /var/kerberos/krb5kdc/kdc.conf

1.6 查看修改前和修改后的文件对比

# 查看修改前和修改后的文件对比
diff /var/kerberos/krb5kdc/kdc.conf.bak /var/kerberos/krb5kdc/kdc.conf
#并在文件中添加一下内容
max_renewable_life = 7d 0h 0m 0s

在这里插入图片描述

1.7 修改/var/kerberos/krb5kdc/kadm5.acl文件,修改EXAMPLE.COM为自己公司的域名。

cp -n /var/kerberos/krb5kdc/kadm5.acl /var/kerberos/krb5kdc/kadm5.acl.bak && \
sed -i 's/EXAMPLE.COM/HADOOP.COM/g' /var/kerberos/krb5kdc/kadm5.acl
diff /var/kerberos/krb5kdc/kadm5.acl.bak /var/kerberos/krb5kdc/kadm5.acl

1.8 配置kerberos服务

#配置kerberos服务
#在cloud01节点上,生成kerberos数据库,设置密码为:12345678
/usr/sbin/kdb5_util create -s

1.9 开启kerberos管理界面

#为cdh创建cloudera-scm/admin用户,设置密码为:12345678
# 开启kerberos管理界面
kadmin.local
   # 添加认证主体, 主体名: cloudera-scm/admin  密码: 12345678
   addprinc cloudera-scm/admin

   12345678

   12345678
   #查看用户
   listprincs
   # 退出kerberos管理界面
   exit

1.10 查看数据库文件

#查看数据库文件principal(自动生成的)
ll /var/kerberos/krb5kdc/ 

1.11 修改参数

#修改krbtgt/HADOOP.COM@HADOOP.COM的Maximum renewable life参数为90天(其默认值为0天),解决在CDH启用kerberos时,Hue角色Kerberos Ticket Renewer启动异常问题

kadmin.local

   modprinc -maxrenewlife 90day krbtgt/HADOOP.COM@HADOOP.COM

   getprinc krbtgt/HADOOP.COM@HADOOP.COM

   exit

1.12 启动kerberos服务

#启动kerberos服务
systemctl start krb5kdc
systemctl start kadmin
systemctl status krb5kdc
systemctl status kadmin

1.13 从节点安装kerberos客户端软件

#从节点安装kerberos客户端软件
yum -y install krb5-libs krb5-workstation

1.14 从主节点复制配置文件到从节点

#从主节点复制配置文件到从节点
sh scp_all.sh /etc/krb5.conf /etc/
sh ssh_all.sh cat /etc/krb5.conf

1.15 kerberos认证测试

#kerberos认证测试
#客户端执行
#获取票据
kinit cloudera-scm/admin
   12345678
#查看票据
klist
#销毁票据
kdestroy

2.集成kerberos

在这里插入图片描述

全选

在这里插入图片描述

页面2,更改以下参数

KDC Type: MIT KDC

Kerberos Security Realm: HADOOP.COM

KDC Server Host: cloud01

KDC Admin Server Host: cloud01

Kerberos Encryption Types: rc4-hmac

Maximum Renewable Life for Principals: 5

在这里插入图片描述

页面3,不要勾选该项(Manage krb5.conf through Cloudera Manager),直接继续

在这里插入图片描述

页面4,cloudera-scm/admin账号、密码

cloudera-scm/admin

12345678

在这里插入图片描述

hdfs启用Kerberos

在这里插入图片描述

角色缺少 Kerberos Keytab。请运行“管理”->“安全”页面上的“Kerberos 凭据”选项卡中的“生成缺失凭据”命令。

在这里插入图片描述

停止hdfs和yarn,重新生成

在这里插入图片描述

3.kerberos使用

1. 进入管理界面

kadmin.local

2. 创建principal(认证主体)

使用管理员创建认证主体,即principal,principal由主体名@域名组成,域名一般都设置为公司的域名。

# 语法格式:
# addprinc -pw 密码 主体名@域名
# 创建hdfs认证主体
addprinc -pw hdfs hdfs@HADOOP.COM
# 创建hive 认证主体
addprinc -pw hive hive@HADOOP.COM
# 创建hbase 认证主体
addprinc -pw hbase hbase@HADOOP.COM

3. 生成keytab凭证

#得在根目录下有data目录
mkdir /data1
# 语法格式:
# xst -norandkey -k 主体文件生成位置 主体名

# 生成hdfs的keytab
xst -norandkey -k /data/hdfs.keytab hdfs
# 生成hive的keytab
xst -norandkey -k /data/hive.keytab hive
# 生成hbase的keytab
xst -norandkey -k /data/hbase.keytab hbase

exit

*****************************************************************************************
# 删除主体(该操作需要管理员用户才能执行,需要进入kadmin.local界面下操作)
kadmin.local
	delprinc '主体名'
#策略
add_policy policy1
modify_principal -policy policy1 hdfs@HADOOP.COM

addprinc -pw hdfs hdfs@HADOOP.COM
*****************************************************************************************

4. 认证方式

4.1 普通认证(用主体加密码的方式认证)
# 用主体加密码的方式认证
kinit hdfs
# 输入密码,即创建主体principal时-pw设置的密码
password
# 查看当前票据
klist
4.2keytab认证 (适合生产环境使用的方式认证)
# 适合生产环境使用
# 使用keytab认证 参数kt意义为keytab文件路径 后面接要认证的主体名,keytab文件要和主体名一致
kinit -kt /data/hdfs.keytab hdfs

# 查看当前票据
klist

Kerberos配置完成

上一篇
CDH集群离线搭建(适用内网)——impala高可用配置⑧

  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值