30.1 問題情況
- 在CDH集群中啟用了Kerberos服務后,通過zookeeper-client登錄Kerberos洗掉服務的注冊資訊時報“Authentication isnot valid”,具體操作及例外資訊如下,
- Fayson這里已經使用fayson用戶kinit后操作的,當然即使用hive的keytab檔案kinit后也會報同樣的錯,
[root@ip-172-31-21-45 ec2-user]# zookeeper-client -server ip-172-31-22-86.ap-southeast-1.compute.internal:2181
...
Welcome to ZooKeeper!
...
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 1] ls /
[cluster, controller, brokers, zookeeper, yarn-leader-election, hadoop-ha, isr_change_notification, admin, controller_epoch, solr, rmstore, consumers, hive_zookeeper_namespace_hive, latest_producer_id_block, config, hbase, hiveserver2_zk]
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 2] rmr /hiveserver2_zk
Authentication is not valid : /hiveserver2_zk/serverUri=ip-172-31-22-86.ap-southeast-1.compute.internal:10000;version=1.1.0-cdh5.11.2;sequence=0000000000
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 3]
30.2 解決方法
- 獲取要洗掉的注冊目錄的ACL
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 1] getAcl /hiveserver2_zk
'world,'anyone
: r
'sasl,'hive
: cdrwa
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 2]
- 撰寫jaas-zk-keytab.conf檔案
[root@ip-172-31-21-45 ec2-user]# vim jaas-zk-keytab.conf
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/home/ec2-user/hive.keytab"
storeKey=true
useTicketCache=false
principal="hive/ip-172-31-21-45.ap-southeast-1.compute.internal@CLOUDERA.COM";
};
- 在執行zookeeper-client前將jaas-zk-keytab.conf加載到環境變數
[root@ip-172-31-21-45 ec2-user]# export CLIENT_JVMFLAGS="-Djava.security.auth.login.config=jaas-zk-keytab.conf"
[root@ip-172-31-21-45 ec2-user]# zookeeper-client -server ip-172-31-22-86.ap-southeast-1.compute.internal:2181
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 0] rmr /hiveserver2_zk
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 1] ls /
[cluster, controller, brokers, zookeeper, yarn-leader-election, hadoop-ha, isr_change_notification, admin, controller_epoch, solr, rmstore, consumers, hive_zookeeper_namespace_hive, latest_producer_id_block, config, hbase]
[zk: ip-172-31-22-86.ap-southeast-1.compute.internal:2181(CONNECTED) 2]
洗掉成功,
30.2.1 總結
- 在啟用Kerberos環境下的ZooKeeper,如果需要洗掉服務,如:
- hive、hbase、hdfs等
- 注冊資訊時,需要先獲取到該目錄的ACL權限,根據ACL權限使用不同服務的keytab檔案kinit后進行洗掉,否則會報“Authentication isnot valid”問題,
大資料視頻推薦:
CSDN
大資料語音推薦:
企業級大資料技術應用
大資料機器學習案例之推薦系統
自然語言處理
大資料基礎
人工智能:深度學習入門到精通
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292893.html
標籤:其他
