1

试图找出我需要覆盖哪些属性才能在本地运行两个隔离的 HBase 实例。

我已经修改了我的 hbase-site.xml 以包括:

<configuration>
<property>
  <name>hbase.zookeeper.property.clientPort</name>
  <value>2222</value>
  <description>Property from ZooKeeper's config zoo.cfg.
  The port at which the clients will connect.
  </description>
</property>
<property>
  <name>hbase.zookeeper.property.dataDir</name>
  <value>/usr/local/zookeeper-old</value>
  <description>Property from ZooKeeper's config zoo.cfg.
  The directory where the snapshot is stored.
  </description>
</property>

我也指定了HBASE_PID_DIR

但是,当我同时启动 CDH3 和 CDH4.1 时,cdh3 上的 shell 在我执行list命令时会挂起。

4

2 回答 2

1

你不能像这样一起运行 2 个单独的 HBase。当他们都尝试访问同一个 HDFS、使用同一个端口、哪个 RS 将联系哪个 HMaster 等时会发生什么?如果你真的想这样做,你应该有不同的配置文件集。实际上,在一个盒子上运行多个发行版是没有意义的。顺便说一句,我能问你为什么需要这样的设置吗?

于 2012-12-14T11:38:40.297 回答
0

我不确定这是否是两个真实实例,但是我在运行本地 HBase 和 HBaseTestingUtility 时遇到了问题,所以我建议这些最小覆盖:

  • 覆盖主端口 ( hbase.master.port ) 默认为 60000
  • 覆盖区域服务器端口 ( hbase.regionserver.port ) 默认为 60020
  • 覆盖主服务器和区域服务器的 HTTPServer 端口(hbase.master.info.port 和 hbase.regionserver.info.port)。如果您不需要信息 UI,我建议禁用这些服务器。这是通过将它们的端口设置为 -1 来完成的。
于 2013-03-12T16:41:19.550 回答