6.1《hadoop实战》MapReduce任务的执行总流程之错误处理机制

本文详细介绍了Hadoop MapReduce在遇到硬件故障和任务失败时的处理机制。硬件故障方面,JobTracker故障是最严重的情况,目前通常通过备用节点和领导选举算法来解决。TaskTracker故障则通过重新执行任务来处理。在任务失败场景下,无论是用户代码缺陷还是进程崩溃,TaskTracker会将任务标记为失败,并重新调度。如果任务尝试多次仍未完成,整个作业将宣告失败。
摘要由CSDN通过智能技术生成

众所周知, Hadoop有很强的容错性。 这主要是针对由成千上万台普通机器组成的 集群 中常态化的硬件故障的, Hadoop能够利用冗余数据方式来解决硬件故障, 以保证数据安全和任务执行。 那么MapReduce在具体执行作业过程中遇到硬件故障会如何处理呢?对于用 户代码的缺陷或进程崩溃引起的错误又会如何处理呢?

1.硬件故障

        从MapReduce任务的执行角度出发, 所涉及的硬件主要是JobTracker和 TaskTracker 〈对应从HDFS出发就是NarneNode和 DataNode)。 显然硬件故障就是JobTracker机器故障和TaskTracker机器故障。
        在Hadoop集群中, 任何时候都只有唯一一个 JobTracker。 所以JobTracker故障就是单点故障, 这是所有错误中最严重的错误。到目前为止, 在Hadoop中还没有相应的解决办法。 能够想到的是通过创建多个备用 JobTracker节点, 在主JobTracker失败之后 采用领导选举算法(Hadoop中常用的一种确定master的算法〉来 重新确定JobTracker节点 。在一些企业使 用Hadoop提供服务时, 就 采用了这样的方越来避免JobTracker错误。
        机器故障除了JobTracker错误外就是TaskTracker错误。TaskTracker故障相对较为常见, 并且MapReduce也有相应的解决办法, 主要是重新执行任务。 下面将详细介绍当作业遇到 TaskTracker错误时, MapReduce 所采取的解决步骤。

        在Hadoop中, 正常情况下, TaskTracker会不断地与系统JobTracker通过心跳机制进行通信。 如果某TaskTracker出现故障或运行缓慢, 它会停止或很少向Job

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值