设为首页 收藏本站
查看: 1309|回复: 0

[经验分享] Hadoop任务调度机制

[复制链接]

尚未签到

发表于 2016-12-7 10:06:56 | 显示全部楼层 |阅读模式
Hadoop其实没那么复杂,对每个子功能进行细分,一一解读,就可化整为零。
MapReduce调度过程——主要角色

  • JobTracker
    Hadoop任务调度的主脑,整个集群中的唯一角色,负责任务的分配。
    侦听TaskTracker传来的心跳消息并从中获取TaskTracker状态,根据状态向TaskTracker发送任务控制指令。
  • TaskTracker
    任务的实际执行者,一般在集群的每台机器上启动一个TaskTracker实例。
    定时向JobTracker发送心跳消息,报告当前节点及其中任务的状态。
    接收JobTracker指令,根据指令要求处理任务。
  • Scheduler
    封装调度算法和策略的逻辑实体,JobTracker做任务调度时调用其中的方法,判定任务执行的先后顺序。
    作为Daemon方式在后台执行,判断是否需要对Task进行杀死等特殊操作。
MapReduce调度过程——任务初始化

 

  • JobClient

    接收客户端作业提交请求

    检查输入输出路径

    计算文件分块

    拷贝作业Job及配置文件到HDFS
  • JobTracker为每个TaskTracker计算任务队列

     
 
 
 
MapReduce 

  • 每个固定的时间间隔,TaskTracke向JobTracker发送的固定格式状态报告信息。
  • 任务调度时关联JobTracker和TaskTracker的纽带。JobTracker在收到心跳之后触发新的任务分配逻辑。TaskTracker从心跳Response中获取JobTracker的指示并做相应执行。
  • 内容包括:
    TaskTracker Id
    Host IP
    TaskTracker上所有任务状态列表(开始、结束时间,任务状态等)TaskTracker执行的最大Map/Reducer限制
    是否可接收新任务等



 
 
Scheduler基本原理

 

  • 主要算法有
    FIFO
    Capacity Scheduler
    Fair Scheduler



  • TaskScheduler
    JobTracker在构造是根据配置创建配置文件所定义的scheduler。在启动时会调用Scheduler的Start方法 。scheduler启动之后,拥有对各个task的控制能力,可以对task进行杀死等操作。就可用的任务槽位时,在JobTracker会调用scheduler的assignTasks方法决定将调用哪些Task首先执行。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-310866-1-1.html 上篇帖子: 关于hadoop的maptask数量 下篇帖子: hadoop namenode format的作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表