无法在请求的 2181 端口启动 ZK,同时导出 HBASE_MANAGES_ZK=false

无法在请求的 2181 端口启动 ZK,同时导出 HBASE_MANAGES_ZK=false

问题

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

相关内容