甘肅企業(yè)模板建站信息seo專員是干什么的
HBase 的 Compaction 有兩個線程池,一個是為 Minor Compaction 準備的, 一個是為 Major Compaction 準備的,hbase.regionserver.thread.compaction.throttle
是決定 Compaction 請求放入哪個線程池的閾值,當待合并文件的總大小小于這個閾值時,就是一個 Minor Compaction,當待合并文件的總大小大于這個閾值時,就是一個 Major Compaction。這個閾值的默認值是:2.5 GB (2684354560 Bytes), 這是基于以下方式計算得到的:
2 × hbase.hstore.compaction.max(StoreFile文件數(shù)量,默認10個) × hbase.hregion.memstore.flush.size (StoreFile文件大小,默認128MB)= 2.5 GB
所以,有時候我們可能會發(fā)現(xiàn):雖然集群已經 Disabled 了周期性自動 Compaction,但是在日志中依然會發(fā)現(xiàn)有:Completed major compaction ...
字樣的信息,也就是說:確實發(fā)生了 Major Compaction,原因就是上面的提到的這種情況。
如果想避免這種計劃外的 Compaction(全部手動觸發(fā)),可以:
- 調大:hbase.regionserver.thread.compaction.throttle (默認是2.5GB)
- 調?。篽base.hstore.compaction.max