Kerberos学习(三)

继续说一下Kerberos与Hadoop的集成。

成都创新互联公司服务项目包括泸溪网站建设、泸溪网站制作、泸溪网页制作以及泸溪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,泸溪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到泸溪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

其实这个话题在网上已经很普遍了,没什么太新鲜的。就是顺带说一下吧,Hadoop账号的集成与管理。

之前已经装了kdc和kadmin,所以接下来就需要创建hadoop相关的账号了。

首先需要用kadmin进入kerberos管理prompt,这里需要输入之前创建的admin账号的密码。

然后就可以创建了,用 ? 可以查看允许使用的命令。比如我们创建如下账号。

addprinc -randkey hdfs/master.hadoop@HADOOP.COM
xst -k hdfs.keytab
addprinc -randkey HTTP/master.hadoop@HADOOP.COM
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/master.hadoop@HADOOP.COM,mapred/master.hadoop@HADOOP.COM,oozie, hive...等等账号。

然后修改hdfs-site.xml,加入

  
    dfs.namenode.keytab.file
    hdfs.keytab
  
  
    dfs.namenode.kerberos.principal
    hdfs/_HOST@PG.COM
  
  
    dfs.namenode.kerberos.internal.spnego.principal
    HTTP/_HOST@PG.COM
  
  
    dfs.datanode.kerberos.principal
    hdfs/_HOST@PG.COM
  
  
    dfs.journalnode.kerberos.principal
    hdfs/_HOST@PG.COM
  
  
    dfs.journalnode.kerberos.internal.spnego.principal
    HTTP/_HOST@PG.COM
  
  
    dfs.cluster.administrators
    hdfs
  

以此类推,也可以把yarn/master.hadoop@HADOOP.COM的keytab与HTTP的keytab合并,还有mapred账号也可以合并,当然,前提是你需要用到spnego的http登录认证服务,如果不需要spnego,可以不添加HTTP的账号。至于什么是spnego,参看解释。

当然,前面创建账号和合并keytab的命令,你可以写成shell脚本让他自动完成。


文章标题:Kerberos学习(三)
分享URL:http://scyanting.com/article/jjgpis.html