> 记录工作过程中遇到的问题。
[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