日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hbase 查询设置超时_hbase master挂掉-zookeeper连接超时原因

發布時間:2024/7/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hbase 查询设置超时_hbase master挂掉-zookeeper连接超时原因 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

并行運行hbase刪表,建表操作,多個表多個region,導致hbase掛掉。查看日志:

從日志中可以看出GC時間過長導致zookeeper連接超時,master退出。(是master退出而不是regionserver退出是因為進行的操作是建表,刪表,是由master來進行操作的)。

原因:

hbase中和GC相關的參數:

修改前(默認):

export HBASE_OPTS="$HBASE_OPTS -ea -verbose:gc

-Xloggc:$HBASE_LOG_DIR/hbase.gc.log

-XX:ErrorFile=$HBASE_LOG_DIR/hs_err_pid.log -XX:+PrintGCTimeStamps

-XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"

咨詢開發修改后:

export HBASE_OPTS="$HBASE_OPTS -verbose:gc

-Xloggc:$HBASE_LOG_DIR/hbase.gc.log

-XX:ErrorFile=$HBASE_LOG_DIR/hs_err_pid.log -XX:+PrintGCDateStamps

-XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=70"

-XXUseConcMarkSweepGC:設置年老代為并發收集。(新老都有)

老:-XX:+CMSIncrementalMode:設置為增量模式。適用于單CPU情況。

新:-XX:+UseParNewGC:設置年輕代為并行收集。可與 CMS 收集同時使用。

-XX:CMSInitiatingOccupancyFraction=70:這個參數是我覺得產生最大作用的。因為最終的目的是減少FULL GC,因為full gc是會block其他線程的。

默認觸發GC的時機是當年老代內存達到90%的時候,這個百分比由 -XX:CMSInitiatingOccupancyFraction=N 這個參數來設置。concurrent mode failed發生在這樣一個場景:

當年老代內存達到90%的時候,CMS開始進行并發垃圾收集,于此同時,新生代還在迅速不斷地晉升對象到年老代。當年老代CMS還未完成并發標記時,年老

代滿了,悲劇就發生了。CMS因為沒內存可用不得不暫停mark,并觸發一次全jvm的stop the

world(掛起所有線程),然后采用單線程拷貝方式清理所有垃圾對象,也就是full

gc。而我們的bulk的最開始的操作就是各種刪表,建表頻繁的操作,就會使用掉大量master的年輕代的內存,就會發生上面發生的場景,發生full

gc。

解決辦法:CMSInitiatingOccupancyFraction=70表示年老代占到約70%時就開始執行CMS,這樣就不會出現(或很少出現)Full GC了。

總結

以上是生活随笔為你收集整理的hbase 查询设置超时_hbase master挂掉-zookeeper连接超时原因的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。