如何在localhost上运行多个hbase(CDH Distro)实例

时间:2012-12-11 02:22:20

标签: hbase cloudera

尝试找出我需要覆盖哪些属性才能在本地运行两个独立的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命令时就会挂起。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

  • 覆盖主端口( hbase.master.port )默认为60000
  • 覆盖regionserver端口( hbase.regionserver.port )默认为60020
  • 覆盖master和regionserver的HTTPServer端口(hbase.master.info.port和hbase.regionserver.info.port)。如果您不需要信息UI,我建议禁用这些服务器。这可以通过将端口设置为-1来完成。