Hadoop错误处理

出现的错误主要有以下三种:
1)Task失败
2)JobTracker失败
3)TaskTracker失败

Task失败
1)当map或者reduce子任务中的代码抛出异常,JVM进程会在退出之前向主进程tasktracker进程发送错误报告,tasktracker会将此(任务尝试)task attempt标记为failed状态,释放一个槽以便运行另外一个任务。
2)对于流任务,如果流进程以非零退出运行则会标记为failed
3)子JVM突然退出(JVM错误),这时tasktracker会注意到进程已经退出,标记为failed
4)tasktracker将子任务标记为失败后会将自身计数器减一,以便向jobtracker中申请新的任务,也是通过心跳告知jobtracker本地的一个任务尝试失效
5)jobtracker接到任务失败的通知后,会将其重新加入到调度队列重新分配给其他的tasktracker执行(避免将失败的任务分配给执行失败的tasktracker),但是这个尝试也是有次数限制的,默认情况下任务尝试4次后仍然没有完成,就不会再重试(jobtracker会将其标记为killed),此时整个作业就执行失败了。

TaskTracker失败
1)TaskTracker一旦失败,就会停止向jobtracker发送心跳
2)同时jobtracker从任务池中将此tasktracker删除,tasktracker上运行的任务将会被移送到其他tasktracker节点上运行
3)如果每个tasktracker上面的任务失败次数远远高于其他节点,jobtracker就把该tasktracker放入到黑名单中
4)如果成功完成map任务,那么reduce任务也无法访问到存储在tasktracker本地文件系统上的中间结果,需要重新被执行。

JobTracker失败
1)JobTracker失败是最严重的一种失败方式了,而且在Hadoop中存在单点故障的情况下是相当严重的。
2)可以通过启动多个JobTracker,在这种情况只运行一个主的jobtracker,主的jobtracker由zookeeper协调控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值