相关推荐recommended
HBase学习八: 核心参数配置
作者:mmseoamin日期:2024-01-22

参数配置是一个富有技巧性的工作,每个参数的背后都隐藏着对应模块的工作原理,如果不清楚这些工作原理,就没办法真正理解这些参数的核心意义。

1、Region相关参数

hbase.hregion.max.f ilesize:默认为10G,简单理解为,Region中最大的Store中所有文件大小一旦大于该值整个Region就会执行分裂。

解读:实际生产环境中,建议对该值设置不要太大也不要太小。太大会导致系统后台执行compaction消耗大量系统资源,一定程度上影响业务响应;太小会导致Region分裂比较频繁(分裂本身对业务读写会有一定影响)。太多Region会消耗大量系统资源,并且在RegionServer故障恢复时比较耗时。

2、BlockCache相关参数

BlockCache相关的参数非常多,而且比较容易混淆。不同的BlockCache策略对应不同的参数,并且这些参数配置会影响MemStore相关参数的配置。查询相关书籍,推荐:RegionServer内存在20G以内的就选择LRUBlockCache,大于20G的就选择BucketCache中的offheap模式。

接下来所有的相关配置都基于BucketCache的offheap模型进行说明。

  • hf ile.block.cache.size :默认为0.4,该值用来设置LRUBlockCache的内存大小,0.4表示JVM内存的40%。

    解读:当前HBase系统默认采用LRUBlockCache策略,BlockCache大小和MemStore大小均为JVM的40%。对于BucketCache策略来讲,Cache分为了两层,