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

本文详细记录了使用sqoop从MySQL导入数据到Hive时遇到的YARN作业Java堆内存溢出问题及解决方案。通过调整mapreduce参数、优化并发设置和检查环境配置,最终解决了数据导入失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述:记录作业相关的异常,本次作业是用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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值