开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术:规划为 Hadoop 中各个服务分配 Kerberos 的 principal】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/708/detail/12560
规划为 Hadoop 中各个服务分配 Kerberos 的 principal
principal 是 Kerberos 账户,账户类型 account/instance@域,刚创建的 test/admin@ITCAST.CN 都叫做 principal。principal 相当于 Kerberos 账户的概念,账户分为三部分,账户名、实例、域。
1.预计将使用 Kerberos 的服务:
namenode、secondarynamenode、datanode、resourcemanager、nodemanager、job、historyserver、https 、hive
如果想要使用 Kerberos,Hadoop 提供的 namenode 网页必须使用 https,http 不可以。需要对 https 创建 Kerberos 账户。
如果 namenode 运行在cdh0机器上,节点配置 cdh0 作为 hadoop master 角色,运行到 cdh0 没有问题。可以分配账户 nn/cdh0.itcast.cn@ITCAST.CN
其中 nn 表示 namenode,cdho.itcastcn 是 principal 中的 instance 以主机名来代替,域 ITCAST.CN
namenode 会使用 nn/cdh0.itcast.cn@ITCAST.CN 账户管理自己。想要 namenode 成功运行,必须认证此账户后才可以操作 namenode。
执行 kinin
test/admin@ITCAST.CN
查看 klist,当前 root 账户拿到 test/admin@ITCAST.CN
ticket
车票。
相当于拿到 test/admin@ITCAST.CN
的 ticket 车票,缓存在 tmp/krb5cc_0
[root@cdh0 ~]# kinit test/admin@ITCAST.CN
Password for
test/admin@ITCAST.CN:
[root@cdh0 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal:test/admin@ITCAST.CN
Valid starting Expires Service principal
09/27/1917:38:16 09/28/19 17:38:16 krbtgt/ITCAST.CN@IITCAST.C
N
renew until 09/27/19 17:38:16
[root@cdh0 ~]
#运行 namenode 需要拿到 nn/cdh0.itcast.cn@ITCAST.CN 账户的车票。Hadoop 配置文件中要求 namenode 绑定到 nn/cdh0.itcast.cn@ITCAST.CN 账户上,想要操作 namenode 必须有 nn/cdh0.itcast.cn@ITCAST.CN
账户的车票,才能管理操作 namenode 进程。
2.其他服务可以有
sn:对应 secondarynamenode
dn : datanode
rm:resourcemanager
nm:nodemanager
jhs: job history server
HTTP:https 相关服务
hive:hive 服务
想要操作它们必须拿到对应的 Kerberos 账户提供的车票。
datanode 使用 dn/,datanode
可能运行在 cdh1或 cdh2,dn/cdh
1.itcast.cn@ITCAST.CN,nodemanager 运行在 cdh2,nm/cdh2.itca
st.cn@ITCAST.CN。dn、nm 不是固定的,可以叫 nodemanager/cdh2
.itcast.cn@ITCAST.CN,为了账户名更简短使用 nm,太长不好写。
了解上述规则,先不创建具体用户,在用到的地方创建,避免提前创建和预期不符合。