mapreduce出core处理

本文介绍了如何在Hadoop MapReduce任务出错时,利用-mapdebug选项配合自定义脚本来处理错误。通过设置`mapred.map.task.debug.script`,当任务出错时调用shell脚本,例如`debug.sh`,在脚本中实现上传core文件以便于后续的调试分析。
摘要由CSDN通过智能技术生成
     我们在使用hadoop的时候,会经常遇到程序崩溃的情况,比如程序出core(出core的时候会报134错误)。程序出core之后,我们希望得到程序的core文件,或者是错误日志。但是hadoop程序的运行时环境,一般在程序结束后,就会自动删除,所以很难直接得到core文件。 这里介绍几种方法,用于获取core文件:
(1) 保留出错现场
     设置hadoop的jobconf参数keep.failed.task.files=true,当程序出错时,可以保留现以供debug使用。保留现场之后,通过job信息,可以找到出core的task所在节点,然后使用lftp登陆节点,就可以将core下载下来了。
(2)使用debug脚本

     hadoop提供了设置出错脚本的方法,可以通过 -mapdebug "sh debug.sh" (或者使用mapred.map.task.debug.script来指定) 来指定程序出错后进行处理的脚本。在脚本中添加上传core文件的代码即可,示例代码如下:

#!/bin/bash
CUR_PATH=`pwd`
JOBID=`echo ${CUR_PATH} |awk -F"/" '{print \$(NF-2)}'`
ATTEMP=`echo ${CUR_PATH} |awk -F"/" '{print \$(NF-1)}'`
CORE_PATH="/user/xlord/tem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值