MapReduce 作业java heap space(记录蛋疼的一天)

描述:记录作业相关的异常,本次作业是用sqoop导mysql数据到hive
http://www.imooc.com/article/253941 YARN调优完美版

一 YARN 作业的java heap space

日志如下:

ERROR [IPC Server handler 7 on 43205] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1561444167609_0110_m_000000_3 - exited : Java heap space
INFO [IPC Server handler 7 on 43205] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1561444167609_0110_m_000000_3: Error: Java heap space
INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1561444167609_0110_m_000000_3: Error: Java heap space
INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: attempt_1561444167609_0110_m_000000_3 TaskAttempt Transitioned from RUNNING to FAIL_FINISHING_CONTAINER
INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl: task_1561444167609_0110_m_000000 Task Transitioned from RUNNING to FAILED

分析:从上的org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1561444167609_0110_m_000000_3 - exited : Java heap space 可以看出应该是Map作业的内存不够

做一下修改:

1: mapreduce.map.memory.mb   1024 -》 2048   (map-site.xml)
2: mapreduce.task.io.sort.mb 有256减少到120M 
	mr程序进行合并排序操作的时候或者mapper写数据的时候,内存大小,默认100M

MapReduce 作业java heap space(记录蛋疼的一天)_第1张图片MapReduce 作业java heap space(记录蛋疼的一天)_第2张图片
修改以上后从跑作业换了另外一个错:如下

27 ERROR [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space

二 改了以下的发先还是没卵用,然后看看NodeManage的相关配置,看到如下的自定义角色组的对栈太小,然后调搭了一点

在这里插入图片描述MapReduce 作业java heap space(记录蛋疼的一天)_第3张图片

三 环境的问题真头疼,改了一堆还是报错,错误也回到了上面

2019-06-26 14:33:53,709 ERROR [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space

四 加大并发折腾了一堆,还是各种报错,加大并发发然后解决了

	最后实在导不了,查询了那张表,那张表的数据有几百万,了解到是做做压力测试的同学压了很多数据,再加上测试环境配置差,才导致数据导不成功的。悲剧的一天

你可能感兴趣的:(异常,YARN,MapReduce)