Hadoop MapReduce做业的生命周期----Hadoop技术内幕学习笔记

一、做业提交与初始化。用户提交做业后,首先由JobClient实例将做业相关信息,好比将程序jar包、做业配置文件、分片元信息等上传到分布式文件系统,其中,分片元信息文件记录了每一个输入分片的逻辑位置信息。而后JobClient经过RPC通知JobTracker。JobTracker收到新做业提交请求后,有做业调度模块对做业进行初始化:为做业建立一个JobInProgress对象以跟踪做业运动情况,而JobInProgress则会为每一个Task建立一个TaskInProgress对象以跟踪每一个任务的运行情况,TaskInProgress可能须要管理多个”Task运行尝试“TaskAttempt。
架构

二、任务调度与监控。任务调度与监控均由JobTracker完成。TaskTracker周期性地经过Heartbeat向JobTracker汇报本节点的资源使用状况。一旦出现空闲资源,JobTracker会按照必定的策略选择一个合适的任务使用该空闲资源,这由任务调度器完成。任务调度器是一个可插拨的独立模块,且为双重架构,即首先选择做业,而后从该做业中选择任务,其中选择任务时须要考虑任务本地性。分布式

此外,JobTracker跟踪做业的整个运行过程,并为做业的成功提供全方位的保障。首先TaskTracker或Task失败是转移计算任务;其次,但某个Task的执行进度远落后于同一做业的其它Task时,为之启动一个相同Task,并选取计算快的Task做为最佳结果。操作系统

三、任务运行环境准备。运行环境准备包括JVM启动和资源隔离,均由TaskTracker实现。TaskTracker为每一个Task启动一个独立的JVM以免不一样Task在运行过程当中相互影响;同时,TaskTracker使用了操做系统进程实现资源隔离以防止Task滥用资源。对象

四、任务执行。TaskTracker为Task准备好运行环境后,便会启动Task。在运行过程当中,每一个Task的最新进度首先由Task经过RPC汇报给TaskTracker,再由TaskTracker 汇报给Jobtracker.生命周期

五、做业完成。待全部Task执行完毕后,整个做业执行完成。进程

了解了整个做业的生命周期,不由想立马日后翻了解更多东西,这真是本好书。资源

相关文章
相关标签/搜索