一、HRegion
1.修改HRegion大小
hbase.hregion.max.filesize
默认:10737418240(10G)
单位是:KB
说明:如果超出限制值,HRegion会进行splict操作,旧的HRegion会下线,数据不能被写入
2.major_compaction
hbase.hregion.majorcompaction
默认: 7 days (604800000 milliseconds)
单位:ms
设置为0,即为关闭major compaction
关闭后可以手工启动major_compact
echo "major_compact 't1'"|/usr/local/hbase/bin/hbase shell
hbase.hregion.memstore.flush.size
默认:134217728(128M)
说明:
Memstore will be flushed to disk if size of the memstore exceeds this number of bytes. Value is checked by a thread that runs every hbase.server.thread.wakefrequency.
二、Hstore
3.store file数量
hbase.hstore.blockingStoreFiles
默认:16
说明:如果任何一个store存在超出此数量的StoreFile(MemStore每刷新一次,会写入一个StoreFile),则会阻止此区域更新,直到compaction压缩完成或者直到超出hbase.hstore.blockingWaitTime(默认:90000ms)
4.
hbase.hstore.blockingWaitTime
默认:90000(90s)
说明:block等待时间
5.
hbase.hstore.compaction.max
说明:minior compaction的最大StoreFile数量
默认:10
6.
hbase.hstore.compaction.max.size
说明:minor compact队列中storefile文件最大size
默认:Long.MAX_VALUE
7.
hbase.hstore.compaction.min
说明:minior compaction的最小StoreFile数量
默认:3
8.
hbase.hstore.compaction.min.size
说明:minor compact队列中storefile文件最小size
默认:128M
三、stripe compaction
9.
hbase.store.stripe.initialStripeCount
说明:启用stripe压缩时要创建的stripe数
单位:个
10.
hbase.store.stripe.sizeToSplit
说明:需要切分为默认2个stripe最大的stripe size
(sizeToSplit = splitPartsCount(默认2个) * target stripe size)
单位:kb
参考
1.https://hbase.apache.org/book.html#compaction.parameters
2.HBase参数配置及说明
3.实时系统HBase读写优化–大量写入无障碍
4一条数据的HBase之旅,简明HBase入门教程-Flush与Compaction