HDFS设置JVM

来源:互联网 发布:炒股软件jryznxt 编辑:程序博客网 时间:2024/05/22 08:01

搭建的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节点即可。

0 0