一、概述
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重新啟動才行。