大数据基础:如何配置HDFS相关的Kerberos账户?

Hadoop需要Kerberos来进行认证,以启动服务来说,在后面配置 hadoop 的时候我们会给 对应服务指定一个Kerberos的账户,比如 namenode 运行在cdh0机器上,我们可能将 namenode 指定给了 nn/cdh0.itcast.cn@ITCAST.CN 这个账户, 那么 想要启动 namenode 就必须认证 这个账户才可以。

1. 在每个节点执行 mkdir /etc/security/keytabs。

2. 配置cdh0上面运行的服务对应的Kerberos账户。

执行 kadmin
输入密码, 进入Kerberos的admin后台
创建namenode的账户
addprinc -randkey nn/cdh0.itcast.cn@ITCAST.CN
创建secondarynamenode的账户
addprinc -randkey sn/cdh0.itcast.cn@ITCAST.CN
创建用于https服务的相关账户
addprinc -randkey HTTP/cdh0.itcast.cn@ITCAST.CN
# 防止启动或者操作的过程中需要输入密码,创建免密登录的keytab文件
# 创建nn账户的keytab
ktadd -k /etc/security/keytabs/nn.service.keytab nn/cdh0.itcast.cn@ITCAST.C
# 创建sn账户的keytab
ktadd -k /etc/security/keytabs/sn.service.keytab sn/cdh0.itcast.cn@ITCAST.CN
# 创建HTTP账户的keytab
ktadd -k /etc/security/keytabs/spnego.service.keytab
HTTP/cdh0.itcast.cn@ITCAST.CN
最终得到:
-r-------- 1 hdfs hadoop 406 Sep 26 11:11 nn.service.keytab
-r-------- 1 hdfs hadoop 406 Sep 26 11:13 sn.service.keytab
-r-------- 1 hdfs hadoop 418 Sep 26 12:20 spnego.service.keytab

3. 配置cdh1 和 cdh2 上面运行的服务对应的Kerberos账户,分别在cdh1 和 cdh2上执行以下操作:

kadmin 进入admin后台
# 创建datanode的账户
addprinc -randkey dn/cdh1.itcast.cn@ITCAST.CN # 如果是cdh2机器 使用
cdh2.itcast.cn
# 创建datanode需要使用的https相关服务账户
addprinc -randkey HTTP/cdh1.itcast.cn@ITCAST.CN # 如果是cdh2机器 使用
cdh2.itcast.cn
# 添加keytab
ktadd -k /etc/security/keytabs/dn.service.keytab dn/cdh1(或者
2).itcast.cn@ITCAST.CN
ktadd -k /etc/security/keytabs/spnego.service.keytab HTTP/cdh1(或者
2).itcast.cn@ITCAST.CN
最终得到:
-r-------- 1 hdfs hadoop 406 Sep 26 11:18 dn.service.keytab
-r-------- 1 hdfs hadoop 418 Sep 26 12:22 spnego.service.keytab

4. 在cdh0 cdh1 cdh2 上将刚刚得到的 keytab文件全部设置: chown hdfs:hadoop 以及 chmod 400。

给TA打赏
共{{data.count}}人
人已打赏
数据库

Hive的工作原理是什么?Hive和Hadoop执行任务的流程

2023-2-18 22:54:40

数据库

Hive中怎样创建内部数据表和外部数据表?

2023-2-18 23:01:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
打开微信,扫描左侧二维码,关注【旅游人lvyouren】,发送【101】获取验证码,输入获取到的验证码即可解锁复制功能,解锁之后可复制网站任意一篇文章,验证码每月更新一次。
提交