一、概述
kerberos是TDH和CDH平台常用的一种安全验证协议;在TDH中可以根据设置,直接登录到TDH安全协议模块下载keytab文件使用,但是在CDH平台中需要自己生成keytab文件。
二、CDH使用kerberos方式
1、进入到kerberos
kadmin.local
2、查看kerberos成员
listprincs
3、添加kerberos成员
kadmin -p 'kdcadmin/admin' -w "-s" -q 'addprinc -randkey hive'
4、生成keytab文件
ktadd -k /home/kerberos/hive.keytab -norandkey hive@TEST.COM
5、使用生成的keytab文件认证用户
kinit -kt /home/kerberos/hive.keytab hive/bdp4@TEST.COM
6、查看当前认证用户
klist
7、使用beeline远程访问
beeline -u “jdbc:hive2://1*92.168.86.130:10000/default;principal=hive/bdp4@TEST.COM”
三、注意事项
生成keytab文件时,需要添加 -norandkey 参数,不然CDH平台的kerberos密码会重置,此时生成keytab使用命令的方式可以访问CDH平台,单beeline方式就是登陆不了。
因为此时集群的kerberos安全文件已经过期,需要重新生成安全文件,并将hive重新启动才行。