1 CDH 开启kerberos 认证 ,详见: CDH官方文档
注意需要更新 $JAVA_HOME/jre/lib/security/ 下 local_policy.jar , US_export_policy.jar
2 注意到hbase 需要访问zookeeper ,因此依赖于zookeeper 的sasl认证, 下面需要配置zookeeper
2.1 生成keytab 文件
登陆到KDC主机, cd /etc/security/kerberos 目录 , 使用命令 kadmin.local
xst -norandkey -k zookeeper.keytab zookeeper/quickstart.cloudera@CLOUDERA.COM
在当前目录下可以看到zookeeper.keytab 文件,修改相就权限为400
2.2 修改zoo.cfg 文件,让zookeeper服务端支持SASL
添加
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
jaasLoginRenew=3600000
2.3 生成 jaas.conf
cd $ZOOKEEPER_HOME/conf 下 vim jaas.conf , 添加以下内容
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/etc/security/kerberos/zookeeper.keytab" <-- zookeeper.keytab 文件目录
storeKey=true
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/etc/security/kerberos/zookeeper.keytab" <-- zookeeper.keytab 文件目录
storeKey=true
useTicketCache=false
principal="zookeeper/fully.qualified.domain.name@<YOUR-REALM>"; <-- zookeeper/quickstart.clouodera@CLOUDERA.COM
};
2.4 开启 java security 特性
cd $ZOOKEEPER_HOME/conf ,编辑 java.env 文件,添加以下内容: