-1

最近遇到了 Cloudera Hadoop 和 HDFS 的有趣场景,我们无法启动 NameNode 服务。

尝试重启 HDFS 服务时,我们无法成功重启集群中的 NameNode 服务。在查看日志后,我们没有观察到任何错误,但确实看到了一些与JvmPauseMonitor...相关的条目

org.apache.hadoop.util.JvmPauseMonitor:在 JVM 或主机(例如 GC)中检测到暂停:暂停大约 5015 毫秒

我们在 中观察这些条目,/var/log/hadoop-hdfs/NAMENODE.log.out并没有看到任何其他错误,包括/var/log/messages.

4

1 回答 1

1

检查您的 JAVA 堆大小

最终,我们能够确定我们遇到了未记录的 Java OOM 异常。

从性能的角度来看,作为 HDFS 中每 100 万块的一般规则,您应该配置至少 1GB 的 Java 堆大小。

在我们的例子中,解决方法很简单,只需要增加 NameNode 和辅助 NameNode 服务的 Java 堆大小并重新启动……因为我们已经增长到 150 万块,但 Java 堆大小仅使用默认的 1GB 设置。

在将 Java 堆大小增加到至少 2GB 并重新启动 HDFS 服务后,我们全盘绿色。

干杯!

于 2016-08-04T19:34:02.967 回答