30.删除ZooKeeper—Kerberos环境

Posted 大勇若怯任卷舒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30.删除ZooKeeper—Kerberos环境相关的知识,希望对你有一定的参考价值。

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
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

以上是关于30.删除ZooKeeper—Kerberos环境的主要内容,如果未能解决你的问题,请参考以下文章

hadoophbasezookeeper集成kerberos认证

zookeeperzookeeper 如何 关闭 kerberos认证 Exception while determining if ZooKeeper is secure

关闭kerberos认证zookeeper初始化失败

zookeeper配置kerberos认证的坑

Kerberos 身份验证密钥表 KVNO

docker 配置 kafka+zookeeper,golang接入示例