Hadoop需要Kerberos来进行认证,以启动服务来说,在后面配置 hadoop 的时候我们会给 对应服务指定一个Kerberos的账户,比如 namenode 运行在cdh0机器上,我们可能将 namenode 指定给了 nn/cdh0.itcast.cn@ITCAST.CN 这个账户, 那么 想要启动 namenode 就必须认证 这个账户才可以。
-
在每个节点执行 mkdir /etc/security/keytabs。
-
配置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&#