为什么hbase崩溃了

时间:2015-08-20 13:08:47

标签: hbase apache-zookeeper

hbase开始遇到一些问题并开始崩溃。这些是hbase日志关闭之前的错误:

2015-08-19 19:13:33,453 WARN  [ctcprserver01,49413,1439902278935-HeapMemoryTunerChore] util.Sleeper: We slept 73458ms instead of 60000ms, this is likely due to a long garbage collecting pause and it's usually bad, see http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired
    "NonHeapMemoryUsage" : {
    "HeapMemoryUsage" : {
2015-08-19 19:13:35,646 INFO  [RS:0;ctcprserver01:49413] regionserver.HeapMemoryManager: Stoping HeapMemoryTuner chore.
2015-08-19 19:13:35,646 INFO  [ctcprserver01,49413,1439902278935-HeapMemoryTunerChore] regionserver.HeapMemoryManager$HeapMemoryTunerChore: ctcprserver01,49413,1439902278935-HeapMemoryTunerChore exiting

我的堆大小配置为100G,如下所示:

export HBASE_HEAPSIZE=100G

hbase是否耗尽堆内存?任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

大堆大小可能导致垃圾收集花费的时间比预期的要长,因为收集器必须最终确定并从堆中驱逐更多对象。当GC(例如MarkSweepCompact)正在运行时,它可能会导致其他线程进入休眠状态,导致Zookeeper超时客户端。

enter image description here

监视每分钟的调用以及JVM中每个收集器的集合花费的cpu%是有意义的: