![无法在请求的 2181 端口启动 ZK,同时导出 HBASE_MANAGES_ZK=false](https://linux22.com/image/633987/%E6%97%A0%E6%B3%95%E5%9C%A8%E8%AF%B7%E6%B1%82%E7%9A%84%202181%20%E7%AB%AF%E5%8F%A3%E5%90%AF%E5%8A%A8%20ZK%EF%BC%8C%E5%90%8C%E6%97%B6%E5%AF%BC%E5%87%BA%20HBASE_MANAGES_ZK%3Dfalse.png)
问题
第一个目标是独立运行 HBase。一旦启动 HBase,导航到 ip:60010/master-status 即可成功。
第二个目标是运行不同的 ZooKeeper 仲裁。ZooKeeper 已下载并启动:
netstat -nato | grep 2181
tcp 0 0 :::2181 :::* LISTEN off (0.00/0/0)
修改conf/hbase-env.sh
如下:
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
以避免HBase在启动后就启动ZooKeeper。
但是,启动HBase后会出现以下错误。
Could not start ZK at requested port of 2181. ZK was started at port: 2182.
Aborting as clients (e.g. shell) will not be able to find this ZK quorum.
问题
如何禁止HBase启动ZooKeeper,单独运行ZooKeeper?
答案1
根据本文档该/usr/lib/hbase/conf/hbase-site.xml
文件需要配置如下:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
以避免HBase管理自己的ZooKeeper。
配置完成后,zookeeper-server
和hbase-master
将独立启动。