HBase似乎写入群集中的单个节点

时间:2016-10-28 15:38:48

标签: hbase

我有一个包含3个节点的小型集群,Hbase部署在所有3个节点上。 似乎在将数据写入Hbase集群时,一切似乎最初都会转到同一个节点。

以下是我的相关hbase-site.xml

<property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
</property>

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://server1:8020/hbase</value>
</property>

<property>
  <name>hbase.zookeeper.property.clientPort</name>
  <value>2181</value>
</property>


<property>
  <name>hbase.zookeeper.quorum</name>
  <value>server1,server2,server3</value>
</property>

<property>
  <name>hbase.zookeeper.property.dataDir</name>
  <value>/opt/hadoop/zookeeper</value>
</property>

区域服务器日志始终显示文件已添加到同一

2016-10-28 15:31:07,990 INFO  [MemStoreFlusher.0] regionserver.HStore:     
  Added hdfs://server1
2016-10-28 15:31:19,195 INFO  [MemStoreFlusher.0] regionserver.HStore: Added 
hdfs://server1

我希望有人可以对此提供一些见解。

1 个答案:

答案 0 :(得分:1)

您的hbase.rootdir属性表示您的所有数据都存储在HDFS中的特定节点中(在/ hbase下)。

您可能希望通过为群集定义名称服务来为HDFS配置HA,并将hbase.rootdir设置为类似

的内容
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://yournameservice/hbase</value>
</property>

有关详细信息,请参阅here

HBase中的平衡数据分布还取决于您的行键设计。错误的行键设计可能会产生热点。