Hbase Region拆分入门

HBase通过hbase-default.xml和hbase-site.xml配置文件管理区域划分,关键设置包括hbase.regionserver.region.split.policy、hbase.hregion.max.filesize和hbase.regionserver.regionSplitLimit。通常,当区域大小达到hbase.hregion.max.filesize时自动拆分。手动管理拆分适用于熟悉rowkey空间的场景,但推荐使用自动拆分以适应数据增长。预分区的数量应根据应用和环境调整,过多或过少都可能影响性能。hbase.hregion.max.filesize默认为10GB,其他拆分策略如DisabledRegionSplitPolicy可禁用自动拆分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HBase通常根据hbase-default.xml和hbase-site.xml配置文件中的设置来处理区域划分。重要设置包括hbase.regionserver.region.split.policyhbase.hregion.max.filesizehbase.regionserver.regionSplitLimit

拆分的一种简化视图是,当区域增长到hbase.hregion.max.filesize时,将对其进行拆分。对于大多数使用模式,应使用自动拆分。有关手动区域分割的更多信息,请参见手动区域分割决策。

您可以选择自己管理拆分,而不是让HBase自动拆分您的区域。如果您非常了解rowkey空间,则可以手动管理拆分,否则让HBase为您确定拆分的位置。手动拆分可以减轻region创建和负载下的移动。它还使区域边界是已知且不变的(如果禁用区域划分)。如果使用手动拆分,则更容易进行基于时间的交错压缩,以分散网络IO负载。

禁用自动拆分

要禁用自动拆分,可以在集群配置或表配置中将区域拆分策略设置为org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy

推荐自动分割

如果禁用自动拆分以诊断问题或在数据快速增长期间,建议在情况变得更稳定时重新启用它们。管理区域分裂自己的潜在好处并非没有争议。

确定预分割区域的最佳数量

**Pre-Splits的最佳数量取决于您的应用程序和环境。**一个好的经验法则是从每个服务器10个预分区域开始,并观察数据随时间增长的情况。最好在区域太少的一侧犯错误,然后再进行滚动拆分。最佳区域数取决于您所在区域中最大的StoreFile。如果数据量增加,则最大的StoreFile的大小将随时间增加。目的是使最大区域足够大,以使压缩选择算法仅在定时大压缩期间对其进行压缩。否则,群集可能会同时受到大量region的压缩风暴。重要的是要了解数据增长会导致压缩风暴,而不是手动拆分决定。

如果将区域分成太多大区域,则可以通过配置HConstants.MAJOR_COMPACTION_PERIOD来增加主要压缩间隔。 org.apache.hadoop.hbase.util.RegionSplitter实用程序还提供所有区域的网络IO安全滚动拆分。

几个参数详解

hbase.hregion.max.filesize
可以通过如下参数设置

描述
最大文件大小。 如果某个区域的HFiles大小的总和超过了该值,则该区域将一分为二。 关于此选项的工作方式,有两种选择,一种是当任何Store的大小超过阈值然后拆分时,另一种是整个区域的大小超过阈值然后拆分时,可以通过hbase.hregion.split.overallfiles进行配置。

默认
10737418240 就是10G的意思,这个数是比较大的.

hbase.regionserver.region.split.policy
描述
拆分策略确定何时应拆分区域。 当前可用的其他各种拆分策略为BusyRegionSplitPolicy,ConstantSizeRegionSplitPolicy,DisabledRegionSplitPolicy,DelimitedKeyPrefixRegionSplitPolicy,KeyPrefixRegionSplitPolicy和SteppingSplitPolicy。 DisabledRegionSplitPolicy阻止手动区域分割。

默认

org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy

hbase.regionserver.regionSplitLimit
就是管理region数目的上限,默认值为1000.

描述
region数量的限制,之后不应再进行区域划分。 这不是对区域数量的硬限制,但可作为区域服务器在特定限制后停止拆分的准则。 默认设置为1000。

默认
1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸭梨山大哎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值