要将 HBase 指向现有的 ZooKeeper 集群(不受 HBase 管理的集群),请将 conf / hbase-env.sh 中的HBASE_MANAGES_ZK
设置为 false
...
# Tell HBase whether it should manage its own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=false
接下来在 hbase-site.xml 中设置集合位置和客户端端口(如果是非标准的)。
当 HBase 管理 ZooKeeper 时,它将启动/停止 ZooKeeper 服务器作为常规启动/停止脚本的一部分。如果您想自己运行 ZooKeeper,独立于 HBase 启动/停止,您将执行以下操作
${HBASE_HOME}/bin/hbase-daemons.sh {start,stop} zookeeper
请注意,您可以以这种方式使用 HBase 来启动与 HBase 无关的 ZooKeeper 集群。只要确保将HBASE_MANAGES_ZK
设置为false
,如果希望它在 HBase 重启时保持不变,那么当 HBase 关闭时,它不会使 ZooKeeper 失效。
有关运行不同 ZooKeeper 集群的更多信息,请参阅 ZooKeeper 入门指南。另外,有关 ZooKeeper 大小调整的更多信息,请参阅 ZooKeeper Wiki 或 ZooKeeper 文档。