【问题标题】:why hbase is crashing为什么hbase崩溃
【发布时间】:2015-08-21 00:15:42
【问题描述】:

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 堆内存用完了吗?任何想法如何解决这个问题?

【问题讨论】:

  • 为什么要使用 100gb 堆?建议低于 20 GB 堆。

标签: hbase apache-zookeeper


【解决方案1】:

较大的堆大小可能会导致垃圾回收时间比预期的要长,因为收集器必须完成并从堆中逐出更多对象。当 GC(例如 MarkSweepCompact)运行时,它可能会导致其他线程休眠,从而导致 Zookeeper 超时客户端。

监控 JVM 中每个收集器的每分钟调用以及用于收集的 cpu % 是有意义的:

【讨论】:

    猜你喜欢
    • 2016-12-30
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多