问题
第一个目标是独立运行 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
将独立启动。