Hbase中的区域拆分

时间:2015-06-01 11:03:32

标签: hadoop hbase bulk-load

一个区域服务器可以提供多少个区域?基本上我有一个hadoop工作,它在hbase中进行批量加载,但是看看hbase主UI,我可以看到整个数据流量正在转移到单个区域服务器。因为哪个单区域服务器过载而其他服务器是理想的。我想跨区域服务器分发这些区域以保持我的集群平衡。

我不太确定,但我假设应该有一些配置来定义每个区域服务器的区域数量。如果我在这里错了,请纠正我。

目前我正在为我的hbase表使用默认的自动拆分策略。

让我知道如何确定这种或任何其他方式来处理区域分布?

由于

2 个答案:

答案 0 :(得分:3)

我假设您使用一个拆分创建了表,然后根据您的数据大小自动拆分。 Hbase余额表根据每个区域服务器的拆分数量进行拆分,因此如果您希望多个区域服务器服务于多个拆分,则应根据某些逻辑预先拆分表,或者在使用时使用某些数据时单击拆分用户界面表。

您可以阅读这篇优秀的详细文章http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/

如果有人知道如何根据该表的负载分配拆分,那就太好了。

答案 1 :(得分:-2)

让我猜一下。

  1. 您创建了一个没有预分裂的表。
  2. 将大量数据大量加载到该地区。
  3. 现在你遇到了问题。尝试如下操作:

    while(存在大于10G的区域) 做 1.在hbase shell中分割大于10G的区域。 2.主要紧凑的女儿区域。 完成

    提示。

    在批量加载之前预先打好表。