使用HBase无法实现100%的数据位置

时间:2018-01-10 22:11:26

标签: hadoop hbase bigdata partitioning

我有10个带hadoop / hbase的节点。

我创建了包含100个区域和预定义分割键的表:001,002 ... 099

我使用hbase 001-009命令将区域010-019分配给第一个节点,将区域move分配给第二个节点,依此类推。它工作正常,我在hbase ui中看到了正确的分布。

我向表中添加1M行,每行根据键哈希具有从000到099的键前缀,我可以确保每个区域的行数几乎相等。假设每个区域有10k行,总共1M行。 使用HTable api,使用map reduce从其他表中填充数据。

如果我使用hdfs dfs -du -h /hbase/data/default/my_table检查区域大小,我发现它们几乎相同(+/- 5%)

问题是,大多数地区都有100%的数据位置,但~10个地区的地点较低(20-60%)。它们不在同一节点上,例如第一个节点上有3个坏区域,第二个节点有4个,第三个节点有3个。

为什么会这样?如何实现100%的数据本地化?

P.S。主要压缩不能解决它

0 个答案:

没有答案