Kerberos学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kerberos学习相关的知识,希望对你有一定的参考价值。
继续说一下Kerberos与Hadoop的集成。其实这个话题在网上已经很普遍了,没什么太新鲜的。就是顺带说一下吧,Hadoop账号的集成与管理。
之前已经装了kdc和kadmin,所以接下来就需要创建hadoop相关的账号了。
首先需要用kadmin进入kerberos管理prompt,这里需要输入之前创建的admin账号的密码。
然后就可以创建了,用 ? 可以查看允许使用的命令。比如我们创建如下账号。
addprinc -randkey hdfs/[email protected] xst -k hdfs.keytab addprinc -randkey HTTP/[email protected] xst -k HTTP.keytab #生成了两个账号及其keytab,然后退出prompt回到shell。进入ktutil rkt hdfs.keytab rkt HTTP.keytab wkt hdfs.keytab 这样就把原始的hdfs.keytab和HTTP.keytab合并成了新的hdfs.keytab
先创建与hdfs相关的账号,最后我们是要把这些账号创建成免密码的keytab文件的,在Hadoop里面,最好是把同一类服务创建成一个keytab,比如,hdfs和HTTP同属于hadoop的HDFS服务,所以,我们先创建这两个账号并将这两个账号的信息合并到一个keytab里面。
以此类推,可以创建yarn/[email protected],mapred/[email protected],oozie, hive...等等账号。
然后修改hdfs-site.xml,加入
<property> <name>dfs.namenode.keytab.file</name> <value>hdfs.keytab</value> </property> <property> <name>dfs.namenode.kerberos.principal</name> <value>hdfs/[email protected]</value> </property> <property> <name>dfs.namenode.kerberos.internal.spnego.principal</name> <value>HTTP/[email protected]</value> </property> <property> <name>dfs.datanode.kerberos.principal</name> <value>hdfs/[email protected]</value> </property> <property> <name>dfs.journalnode.kerberos.principal</name> <value>hdfs/[email protected]</value> </property> <property> <name>dfs.journalnode.kerberos.internal.spnego.principal</name> <value>HTTP/[email protected]</value> </property> <property> <name>dfs.cluster.administrators</name> <value>hdfs</value> </property>
以此类推,也可以把yarn/[email protected]的keytab与HTTP的keytab合并,还有mapred账号也可以合并,当然,前提是你需要用到spnego的http登录认证服务,如果不需要spnego,可以不添加HTTP的账号。至于什么是spnego,参看解释。
当然,前面创建账号和合并keytab的命令,你可以写成shell脚本让他自动完成。
以上是关于Kerberos学习的主要内容,如果未能解决你的问题,请参考以下文章