我是Apache-Hadoop的新手。我有三个节点的Apache集群。我正在尝试加载一个有45亿条记录的文件,但它并没有被分发到所有节点。这种行为是一种区域热点。
我已经从hbase-site.xml配置文件中删除了"hbase.hregion.max.filesize“参数。
我观察到,如果我使用4个节点的集群,那么它将数据分配到3个节点,如果使用3个节点的集群,则分布到2个节点。
我想,我错过了一些配置。
发布于 2014-05-06 13:51:27
一般来说,对于HBase,主要问题是准备非单调的行键。如果是,则在当时只使用一个区域服务器:http://ikaisays.com/2011/01/25/app-engine-datastore-tip-monotonically-increasing-values-are-bad/。
这是HBase关于RowKey设计的参考指南:
http://hbase.apache.org/book.html#rowkey.design
还有一篇非常好的文章:
http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/
在我们的例子中,预定义区域服务器还缩短了加载时间:
create 'Some_table', { NAME => 'fam'}, {SPLITS=> ['a','d','f','j','m','o','r','t','z']}问候
帕维尔
https://stackoverflow.com/questions/23147886
复制相似问题