HBase GC調(diào)優(yōu)研究

調(diào)優(yōu)region server還是master

需要為region server增加參數(shù)娇跟,而master并不會是個問題岩齿,因為它并不處理大負(fù)載,數(shù)據(jù)并不通過它苞俘。調(diào)優(yōu)參數(shù)只需要加到region server盹沈。

region server壓力

大量的workloads導(dǎo)致jre支持region server并不是很好,特別是寫特別重的情況吃谣。需要指定jre參數(shù)使得gc策略更適合大量的workloads乞封。

對于寫很重的情況做裙,內(nèi)存中頻繁的創(chuàng)建和丟棄不同大小的對象。當(dāng)數(shù)據(jù)收到內(nèi)存buffer中肃晚,需要保持到flush達到size自后寫到硬盤锚贱,new一個store file。(hbase.hregion.memstore.flush.size关串,或表級別的flush size惋鸥,表屬性或代碼)
所以在寫入到硬盤之前,這些數(shù)據(jù)會大量的占用Java heap悍缠。需要看是否被快速flush,則影響到數(shù)據(jù)在heap的新生代就被處理耐量,還是會被移到老年代飞蚓。

調(diào)優(yōu)新生代heap

可以設(shè)置gc options在 hbase-env.sh中, HBASE_OPTS或HBASE_REGIONSERVER_OPTS廊蜒。后面的只影響到region server趴拧,不會作用于master。
(-XX:MaxNewSize=128m -XX:NewSize=128m 等于 -Xmn128m)

如果新生代heap較低山叮,可能會發(fā)現(xiàn)CPU load增長著榴,因為會花費大量cpu時間用于新生代的minor gc。

輸出gc log

建議輸出gc的log屁倔。觀察concurent mode failure或者promotion failed脑又,將導(dǎo)致程序長時間停頓
(-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log)
要注意這個log并不roll,需要定時手動處理锐借。

GC種類

建議的GC種類:
(-XX:+UseParNewGC and -XX:+UseConcMarkSweepGC)
這里要考慮minor gc和full gc的程序停頓時間问麸,如果超過了zk timeout,這個server會被認(rèn)為lost钞翔。當(dāng)gc結(jié)束了會被通知已經(jīng)從集群移除严卖,并把自己關(guān)機。
CMS會盡量避免full gc布轿,除非出現(xiàn)promotion error哮笆,會導(dǎo)致stop world執(zhí)行full gc。

CMS還有額外選項汰扭,是個百分比稠肘,控制CMS何時啟動,需要避免設(shè)置導(dǎo)致 concurrent mode failuer萝毛。
(-XX:CMSInitiatingOccupancyFraction=70)
這個比例設(shè)為70%启具,略微大于region server設(shè)置的60% heap usage(默認(rèn)20% block cache和40% memstore的限制)。這樣CMS啟動會盡量早又不會太頻繁珊泳。(所以當(dāng)調(diào)優(yōu)block cache和memstore size時鲁冯,要響應(yīng)調(diào)整CMS的啟動百分比拷沸。)

最佳實踐例子

export HBASE_REGIONSERVER_OPTS="-Xms8g -Xmx8g -Xmn128m -XX:UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -verbose:gc -XX:+PrintGCDetails -XX:+PringtGCTimeStamps -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log"

關(guān)于buffer和memstore

從老年代取出buffer的數(shù)據(jù)flush到硬盤的時候,會導(dǎo)致老年代的內(nèi)存空間留下一個非壓縮的內(nèi)存空間薯演,所以規(guī)定固定大小的數(shù)據(jù)去flush撞芍,會有利于這個空間的連續(xù)利用,避免了需要壓縮時導(dǎo)致的full gc出現(xiàn)跨扮。但同時也會有heap使用上的浪費序无,不能完全利用好所有小空間。
(hbase.hregion.memstore.mslab.enabled)默認(rèn)true
(hbase.hregion.memstore.mslab.chunksize)默認(rèn)2mb
(hbase.hregion.memstore.mslab.max.allocation)默認(rèn)256KB衡创,上界帝嗡,超過則會直接處理,如果很多超過上界會導(dǎo)致更早的gc停頓璃氢。

如果仍然會有長時間的gc停頓哟玷,建議收集gc的規(guī)律,并針對性的做出server的幾天或者幾周的重啟計劃一也。

需要知道巢寡,buffer會比directly的KeyValue慢一些。

JAVA heap
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末椰苟,一起剝皮案震驚了整個濱河市抑月,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舆蝴,老刑警劉巖谦絮,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洁仗,居然都是意外死亡挨稿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門京痢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奶甘,“玉大人,你說我怎么就攤上這事祭椰〕艏遥” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵方淤,是天一觀的道長钉赁。 經(jīng)常有香客問我,道長携茂,這世上最難降的妖魔是什么你踩? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上带膜,老公的妹妹穿的比我還像新娘吩谦。我一直安慰自己,他們只是感情好膝藕,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布式廷。 她就那樣靜靜地躺著,像睡著了一般芭挽。 火紅的嫁衣襯著肌膚如雪滑废。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天袜爪,我揣著相機與錄音蠕趁,去河邊找鬼。 笑死辛馆,一個胖子當(dāng)著我的面吹牛俺陋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播怀各,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼术浪!你這毒婦竟也來了瓢对?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤胰苏,失蹤者是張志新(化名)和其女友劉穎硕蛹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硕并,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡法焰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倔毙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片埃仪。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陕赃,靈堂內(nèi)的尸體忽然破棺而出卵蛉,到底是詐尸還是另有隱情,我是刑警寧澤么库,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布傻丝,位于F島的核電站,受9級特大地震影響诉儒,放射性物質(zhì)發(fā)生泄漏葡缰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泛释。 院中可真熱鬧滤愕,春花似錦、人聲如沸胁澳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽韭畸。三九已至宇智,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胰丁,已是汗流浹背随橘。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锦庸,地道東北人机蔗。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像甘萧,于是被迫代替她去往敵國和親萝嘁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容