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

uxh89sit  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(293)

我有一个由3个节点组成的小集群,所有3个节点上都部署了hbase。似乎在将数据写入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

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

a8jjtwal

a8jjtwal1#

您的hbase.rootdir属性表示所有数据都存储在hdfs的特定节点中(在/hbase下)。
您可能希望通过为集群定义nameservice为hdfs配置ha,并将hbase.rootdir设置为

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

请参阅此处了解更多详细信息。
hbase中均衡的数据分布还取决于行键的设计。错误的行键设计可能会产生热点。

相关问题