问题背景:
在搭建HDP集群时,开启了kerberos以后,hbase的zookeeper.znode.parent变成了/hbase-secure,我想把它改为/hbase
但是更改了此值后,hbase连接zookeeper出现了问题,应该是之前zookeeper里已经存在了/hbase ,我想删除掉zk里的/hbase 让它重新初始化,
但是删除不了, 报错:Authentication is not valid : /hbase/tokenauth
解决:
这是由于zookeeper开启了ACL,我用zookeeper的 getAcl等命令也不行,
然后,我就直接先关闭了zookeeper的ACL功能,然后重启zookeeper,
[关闭ACL] 添加一个zookeeper的配置,我这里演示的是HDP的:
skipACL = yes
此时在进到zookeeper里删除目录节点,就可以了,我这是新搭建的集群,可以随意删除,如果是生产集群,要谨慎!!
然后再打开zookeeper的ACL功能,就是把那条配置删掉,重启zookeeper;
此时,我的hbase的zookeeper.znode.parent改为了/habse, 并重启,进入hbase shell验证一番,可以了;