1.描述
在cdh叢集中zookeeper開啟了kerberos認證。然後通過zookeeper-client登陸zookeeper指令行操作,删除節點的時候報錯
删除指令:rmr /hbase
報錯:Authentication is not valid : /hbase/splitWAl
說是 沒有權限删除/hbase/splitWAL這個節點。我們運作zookeeper-client已經進行了zookeeper的主體認證了。
2.解決方式
1) 先使用指令檢視該節點的權限
getAcl /hbase 傳回結果如下圖所示
可以看到sasl使用者是hbase

2)編寫jaas-zk-keytab.conf檔案
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/root/hbasenew.keytab"
storeKey=true
useTicketCache=false
principal="[email protected]";
};
3.在執行zookeeper-client前将jaas-zk-keytab.conf加載到環境變量
export CLIENT_JVMFLAGS="-Djava.security.auth.login.config=jaas-zk-keytab.conf"
4.登陸zookeeper
zookeeper-client -server master:2181
5.删除節點
成功删除。