Hbase 区域在不应该分裂时分裂
Posted
技术标签:
【中文标题】Hbase 区域在不应该分裂时分裂【英文标题】:Hbase regions splitting when they shouldn't be 【发布时间】:2015-07-14 22:27:20 【问题描述】:我们有一些表配置了 DelimitedKeyPrefixRegionSplitPolicy(继承自 ImprovementToUpperBoundRegionSplitPolicy),memstore 刷新大小为 128M,表 MAX_FILESIZE 为 ~20GB。
根据我们的计算,在区域大小达到 20GB (4^3*256M = 16GB) 之前,每台服务器的区域不应超过 5 个,但每个区域服务器有 7-15 个区域。
我们之前将它们组合在一起以获得正确的数字,但随后它们又分开了。我们使用的是 hbase 0.98.4,表描述显示 TABLE_ATTRIBUTES => MAX_FILESIZE => '21474836480'... 默认区域最大文件大小为 1 GB,许多区域都大于此大小。
尽管我们尽最大努力减少区域数量,但我们无法弄清楚他们为什么继续分裂。有什么想法吗?
【问题讨论】:
我们尝试将 max_filesize 更改为 100GB,如此处所示hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/…,但我们仍在拆分 【参考方案1】:您应该更改拆分策略
METADATA => 'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'
【讨论】:
如果我们这样做了,我们将不得不将最大大小设置得非常高并手动管理拆分,因为我们需要它们在前缀边界上拆分。我们可以退回到那个,但是我们现在所做的应该根据文档工作,我不明白为什么它不工作。以上是关于Hbase 区域在不应该分裂时分裂的主要内容,如果未能解决你的问题,请参考以下文章