Hadoop:Task process exit with nonzero status of 1 异常

  在运行hadoop程序时经常遇到异常 java.io.IOException: Task process exit with nonzero status of 1。网上很多博文都说是磁盘不够的问题。

  其实我很多时候遇到这个问题是因为程序抛出org.apache.hadoop.mapred.Child: Error running child : java.lang.OutOfMemoryError:   unable to create new native thread这个问题导致程序失败并删除掉工作区间,最终导致文件无法读写。因此,通常抛出这个问题也有可能是因为内存溢出。

解决方法:

1. 增大hadoop-env.sh 中HADOOP_HEAPSIZE的值

2 .增大 mapred-site.xml 中mapred.child.java.opts的值(默认为200M)

<property>
<name>mapred.child.java.opts</name>
<value>-Xmx2048m</value>
</property>

3. 减小 mapred-site.xml中mapred.tasktracker.map.tasks.maximumde和mapred.tasktracker.reduce.tasks.maximum的值

<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>15</value>
</property>
上一篇:蓝桥杯练习系统— 算法训练 Beaver's Calculator


下一篇:Spark Streaming揭秘 Day34 解析UI监听模式