Issue:
Hbase错误zookeeper存在3次退休后失败清楚地表明zookeeper仲裁未运行 - 最可能的原因可能是与您的zookeeper.quorum设置不一致conf/hbase-site.xml
,最小值必须是:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
</configuration>
在下一节中,将简洁地提到为什么需要 Zookeeper 以及如何验证它是否正在运行。
概述:
从你的文本中预先假设(独立设置) - 你把事情搞混了。
Zookeeper简单来说就是管理HBase,并且是必须的要求。
默认情况下,HBase 本身处理 Zookeeper 设置、启动-停止(尽管可以更改)- 验证对文件的查看conf/hbase-evn.sh
(在你的 hbase 目录中)必须有一行:
export HBASE_MANAGES_ZK=true
基本上告诉 HBase 是否应该管理自己的 Zookeeper 实例。如果设置为false
,编辑为true
.
现在为了验证,有一个有用的命令(忘记ps
进而grep
):
$ jps
该命令将列出机器上的所有 java 进程(HBase 本身就是一个 Java 应用程序),即可能的输出必须是(对于最小的独立 HBase 设置):
62019 Jps
61098 HMaster
61233 HRegionServer
61003 HQuorumPeer
不要只是终止 HBase 进程,而是使用启动-停止实用程序:
$ ./bin/stop-hbase.sh
进行必要的更改并重新启动:
$ ./bin/start-hbase.sh
P.S.我可能(完全)误解了你的问题,请在评论中告诉我,我会再次回复你并为即将到来的 SO 访客提供正确的解决方案。