人本善良

导航

Zookeeper报错Will not attempt to authenticate using SASL解决办法

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq642159746/article/details/51455672

1.首先确定本地的zk版本跟服务器的zk版本是否一致,简单的就是看依赖的jar包,去zk的安装包下找对应的jar包直接跟本地的比较,操作hbase出现这种情况就是hbase安装目录的lib下找,确定版本一致。

2.在hbase的conf下hbase-site.xml下配置hbase.zookeeper.quorum这个属性,具体原因看网上有个解释不错:在master所在的pc上启动start-all时,内容提示所有的regionserver已经全部启动。但是,如果你去查看masterIP:60010时 会发现其他的regionserver并没有启动,regionserver的数量只有一台。因为已经有一台regionserver是活着的,所以 hbase还是能继续使用的,这会迷惑你。查看别的机器的日志后,你就会发现上述错误。zookeeper的定位居然定位到127.0.0.1去了,这个 不科学。最后,查阅资料才发现hbase.zookeeper.quorum这个属性设置时,默认本机即为zookeeper服务器(单机使用)。这就很 简单了,只需要增加这个属性就可以了。 
<property> 
<name>hbase.zookeeper.quorum</name> 
<value>zk1,zk2,zk3</value> 
</property>
 
然后本机的windows/System32/drivers/etc/hosts 文件打开,加入服务器上的/etc/hosts文件的内容,里面的localhost要设置为127.0.0.1。一般情况下,连接不上的问题都是这个hosts文件不一致造成的,具体原因等我进一步了解zookeeper会再贴出来。

3.hbase本身带有zk,所以调用的时候需要根据配置启动你需要的zk,是hadoop集群的还是hbase的,提供一种设置方法。 
<property> 
<name>hbase.zookeeper.property.dataDir</name> 
<value>/opt/hadoop/zookeeper</value> 
<description>Property from ZooKeeper's config zoo.cfg. 
The directory where the snapshot is stored. 
</description> 
</property>

posted on 2019-09-03 18:04  简简单单2018  阅读(7322)  评论(0编辑  收藏  举报