HBase 的參數(shù)很多,一般都是在使用和優(yōu)化的過程中不斷地調(diào)整的,這里只列舉出比較重要和常用的幾個(gè)HBase參數(shù)優(yōu)化方案,大家可以參考一下。
合并與分裂
- hbase.hregion.majorcompaction storeFile 的合并時(shí)間間隔 - hbase.regionserver.regionSplitLimit 最大的 region 數(shù)量 - hbase.hregion.max.filesize 每個(gè) region 的最大限制 這三個(gè)參數(shù),是用于控制 StoreFile 的合并和 Region 的分裂的。在生產(chǎn)環(huán)境下,這兩個(gè)操作一般都會(huì)設(shè)置為禁止自動(dòng)合并和禁止自動(dòng) split,因?yàn)檫@兩步的操作都是比較耗費(fèi)資源的,自動(dòng)會(huì)讓操作時(shí)間不可控,如果是在業(yè)務(wù)繁忙的時(shí)間做了這些操作造成的影響是非常大的,所以一般配置禁止自動(dòng),轉(zhuǎn)為自己管理,在系統(tǒng)沒那么繁忙的晚上手動(dòng)出發(fā)相關(guān)操作。
內(nèi)存
file.block.cache.size BlockCache 的內(nèi)存大小限制 hbase.regionserver.global.memstore.upperLimit Memstore 占用內(nèi)存在總內(nèi)存中的比例 RegionServer 的內(nèi)存主要分為兩塊,讀緩存 block cache 和寫緩存 memstore,第一個(gè)配置是 block cache 的內(nèi)存大小限制,第二個(gè)配置是 memstore 占用內(nèi)存在總內(nèi)存中的比例,所以這兩個(gè)配置要配合使用才能控制讀和寫緩存的大小。 block cache 默認(rèn)是 0.25,在讀多于寫的業(yè)務(wù)中,可以適當(dāng)調(diào)大該值。upperLimit 默認(rèn)值 0.4,寫偏多的場(chǎng)景可以適量調(diào)大建議 0.45,RegionSerever 中 block cache 和 memstore cache 的總大小不會(huì)超過 0.8,太大可能會(huì)造成 oom。
更多關(guān)于“大數(shù)據(jù)培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來試聽。