> 記錄工作過程中遇到的問題。
[TOC]
# FullGC報警
業務方有埋點問題,導致列非常多,讀取的時候沒有進行限制,導致FullGC報警。這本質上是個編碼的問題,讀取及返回要進行limit限制。這種場景,如果數據量太大,可能會導致OOM的。
# setMaxResultsPerColumnFamily
Set the maximum number of values to return per row per Column Family。
HBase的所有查詢,都要設一個值,就像MySQL行查詢必須設置limit一樣,否則,一旦有太多列,幾萬,幾十萬,輕則FullGC,重則HeadSpace,JVM死掉。
# setMaxResultsPerColumnFamily
Set the maximum number of values to return per row per Column Family。
Q:有沒有辦法可以設置返回最新的100條結果?
A:沒有。
# 線程、重試、超時時間
HBase Client默認的線程256(集群之間無法共享鏈接,所以端上如果連2個集群,線程默認就成了512)。默認超時時間60秒,重試32次。
Hase集群本身可用性不高(999),如果設置超時時間太短,在尖刺時可能瞬間產生大量異常:org.apache.hadoop.hbase.client.RetriesExhaustedException