Kerberos环境下删除ZooKeeper服务注册信息问题分析

时间:2022-05-06
本文章向大家介绍Kerberos环境下删除ZooKeeper服务注册信息问题分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

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] 

2.解决方法


1.获取要删除的注册目录的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] 

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";
};

3.在执行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] 

删除成功。

3.问题总结


在启用Kerberos环境下的ZooKeeper,如果需要删除服务(如:hive、hbase、hdfs等)注册信息时,需要先获取到该目录的ACL权限,根据ACL权限使用不同服务的keytab文件kinit后进行删除,否则会报“Authentication isnot valid”问题。

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看