描述:记录作业相关的异常,本次作业是用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
修改以上后从跑作业换了另外一个错:如下
27 ERROR [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space
二 改了以下的发先还是没卵用,然后看看NodeManage的相关配置,看到如下的自定义角色组的对栈太小,然后调搭了一点
在这里插入图片描述
三 环境的问题真头疼,改了一堆还是报错,错误也回到了上面
2019-06-26 14:33:53,709 ERROR [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space
四 加大并发折腾了一堆,还是各种报错,加大并发发然后解决了
最后实在导不了,查询了那张表,那张表的数据有几百万,了解到是做做压力测试的同学压了很多数据,再加上测试环境配置差,才导致数据导不成功的。悲剧的一天