hadoop之MapReduce作业的生命周期

本文详细介绍了MapReduce作业从提交到完成的全过程,包括作业初始化、任务调度与监控、运行环境准备、任务执行及作业完成等关键步骤。通过具体的工作流程,读者可以深入了解MapReduce系统如何高效地管理和执行大规模并行计算任务。

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

1.作业的提交和初始化:用户提交作业后,首先由JobClient实例将作业相关信息上传到分布式文件系统HDFS上(一般为HDFS),然后JobClient通过RPC框架通知 JobTracker。 JobTracker收到新作业提交请求之后,由作业调度模块对作业进行初始化:为作业创建一个JobInProgress对象来跟踪作业的运行状况,而JobInProgress则会为每个Task创建一个TaskInProgress对象来跟踪每个Task的运行状况,TaskInProgress可能需要管理多个Task Attempt。

2.任务调度和监控:TaskTracker周期性的通过HeartBeat向JobTracker汇报本节点的资源使用情况和运行状态,一旦出现空闲资源,JobTracker会按照一定的策略选择一个合适的任务使用这些资源,这由任务调度器来完成。当TaskTracker或者Task失败时,JobTracker会转移计算任务。当某个Task执行进度远远落后于同一作业的其他Task时为它创建一个相同的Task,并选取计算最快的Task的结果为最终结果。

3.任务运行环境准备:运行环境准备包括JVM启动和资源隔离,均有TaskTracker完成。TaskTracker会为每一个Task启动一个独立的JVM以避免不同Task运行中的相互影响,同事TaskTracker使用了操作系统进程实现资源隔离以防止Task滥用资源。

4.任务执行:TaskTracker为Task准备好运行环境之后就会启动Task。运行过程中,每个Task的最新进度和状况首先由Task通过RPC汇报给TaskTacker,再有TaskTracker汇报给JobTracker。

5.作业完成。等所有Task任务执行完毕之后整个作业执行成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值