作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 Apache-Hadoop 的新手。我有 3 个节点的 Apache-Hadoop 集群。我正在尝试加载一个有 45 亿条记录的文件,但它没有分发到所有节点。这种行为有点像区域热点。
我已经从 hbase-site.xml 配置文件中删除了“hbase.hregion.max.filesize”参数。
我观察到如果我使用 4 节点的集群然后它分发数据到 3 个节点,如果我使用 3 节点的集群然后它分发到 2 个节点。
我想,我缺少一些配置。
最佳答案
一般来说,HBase 的主要问题是准备非单调的行键。如果是,则此时仅使用一个区域服务器: http://ikaisays.com/2011/01/25/app-engine-datastore-tip-monotonically-increasing-values-are-bad/
这是关于RowKey设计的HBase引用指南:
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']}
问候
帕维尔
关于hadoop - 加载文件时如何平衡HBase的负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23147886/
我是一名优秀的程序员,十分优秀!