HDFS设置JVM
Posted 程序员超时空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS设置JVM相关的知识,希望对你有一定的参考价值。
搭建的hadoop集群使用了一段时间,从26号发现一个datanode节点莫名宕机了,下载相关日志查看也没发现什么问题,重启后恢复了正常,对于具体的原因也就没有进行深入追究。
29号早上又被讨论组的问题给惊倒了,hadoop集群中的datanode节点有宕掉了,当时就想不会是同一台机器吧。远程VPN查看果不其然还是同一台出过问题的机器,按顺序下载日志进行分析,这次在日志中发现了问题,“java.lang.OutOfMemoryError: Java heap space”。内存溢出导致的。
查看hadoop-env.sh,看到datanode在配置的时候并没有指定相关的JVM部分,采用了默认的配置,如下图所示:
修改相关配置如下:
说明:HDFS的JVM参数配置文件是hadoop-env.sh,相关配置分别如下
Namenode进程的JVM配置: HADOOP_NAMENODE_OPTS
Datanode进程的JVM配置:HADOOP_DATANODE_OPTS
设置上述完成后,修改mapred-site.xml,增加JVM的重用次数。设置jvm复用,即一个job内,多个task共享jvm,避免多次启动jvm,浪费资源和时间。提高运行效率,减少job执行的时间。如下图所示:
上述配置完成后,重新启动datanode节点即可。
以上是关于HDFS设置JVM的主要内容,如果未能解决你的问题,请参考以下文章
优化技巧汇总_通用优化+Linux 优化+HDFS 优化+MapReduce 优化+HBase 优化+内存优化+JVM 优化+Zookeeper 优化
优化技巧汇总_通用优化+Linux 优化+HDFS 优化+MapReduce 优化+HBase 优化+内存优化+JVM 优化+Zookeeper 优化