`
lt200819
  • 浏览: 181635 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop任务调度机制

 
阅读更多

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首先执行。
分享到:
评论

相关推荐

    Hadoop云平台的一种新的任务调度和监控机制_许丞

    Hadoop云平台的一种新的任务调度和监控机制_许丞

    论文研究-改进的Hadoop作业调度算法.pdf

    针对如上问题,深入分析了Hadoop源代码,理清了Hadoop的运行原理,在Hadoop资源管理机制Yarn中改进了Hadoop任务的排序,建立了新的任务排序规则,提出了对各节点性能评价的指标,分为动态性能指标和静态性能指标。...

    基于任务节点系统进程优先级的hadoop源码修改及测试报告

    hadoop调度机制改进,性能方向的优化尝试,源码修改等

    Azkaban任务调度安装配置和使用

    Azkaban是由Linkedin公司推出的一个开源的批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖...

    云计算环境中任务调度策略 (2015年)

    文章论述云计算环境下任务调度的概念、特点和目标,归纳了云计算任务调度的研究现状,并对传统任务调度算法、Hadoop中的任务调度算法、智能化的任务调度算法的实现机制和性能指标等进行了分析与比较。分析结果表明智能...

    基于hadoop-yarn的在线离线混部资源管理系统项目源码.zip

    随着云计算数据中心承载业务种类越来越丰富,从结构上,现有调度框架往往采 用两层调度机制,资源管理层侧重管理资源使用信息,并在数据中心资源池层面分配资源;不同任务负载拥有独立的任务调度器,造成了一定的...

    一种异构环境下的Hadoop调度算法 (2012年)

    作为MapReduce的开源实现,Hadoop的性能依赖于其任务调度机制。对Hadoop的推测执行算法进行研究,并设计了一种更具公平性、更好系统处理能力和更适合于异构环境的改进的Hadoop调度算法SALS。改进的Hadoop算法对调度...

    Hadoop权威指南 第二版(中文版)

     作业的调度  Fair Scheduler  Capacity Scheduler  shuffle和排序  map端  reduce端  配置的调优  任务的执行  推测式执行  重用JVM  跳过坏记录  任务执行环境 第7章 MapReduce的类型与格式  ...

    azkaban一个批量工作流的任务调度器

    一个批量工作流任务调度器,提供功能清晰,简单易用的Web UI界面 提供job配置文件快速建立任务和任务之间的依赖关系 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop 基于Java开发,代码...

    Hadoop权威指南(中文版)2015上传.rar

    作业的调度 Fair Scheduler Capacity Scheduler shuffle和排序 map端 reduce端 配置的调优 任务的执行 推测式执行 重用JVM 跳过坏记录 任务执行环境 第7章 MapReduce的类型与格式 MapReduce的类型 默认的MapReduce...

    big-whale:Spark、Flink等离线任务的调度以及实时任务的监控

    巨鲸任务调度平台为美柚大数据研发的分布式计算任务调度系统,提供Spark、Flink等批处理任务的DAG调度和流处理任务的运行管理和状态监控,并具有Yarn应用管理、重复应用检测、大内存应用检测等功能。 服务基于Spring...

    Hadoop实战(第2版)

    技术点34 定位reduce 端数据倾斜问题技术点35 确定reduce 任务是否存在整体吞吐量过低技术点36 缓慢的洗牌(shuffle)和排序 .6.2.4 任务的一般性能问题技术点37 作业竞争和调度器限制技术点38 使用堆转储...

    Hadoop平台中作业调度算法分析与改进研究

    针对传统云计算作业调度中简单优先级设置的不足,首先对作业调度进行研究并提出了基于用户服务等级协议(SLA)的作业分级机制。该设计基于QoS约束的多优先级作业调度算法,在算法中利用云用户作业中的偏好程度来设计...

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    技术点2 自动复制文件到HDFS 的机制 技术点3 使用Oozie 定期执行数据导入活动 2.2.3 从数据库中拉数据 技术点4 使用MapReduce 将数据导入数据库 技术点5 使用Sqoop 从MySQL 导入数据 2.2.4 HBase 技术...

    大数据开源框架集锦.pdf

    ⾼效的数据同步 11 消息系统 Pulsar 企业级分布式消息系统,有替代Kafka的趋势 Kafka 发布/订阅的消息系统,由Scala写成 RocketMQ 阿⾥巴巴分布式、队列模型的消息中间件 12 任务调度 Azkaban 批量⼯作流任务调度器...

    大数据基础知识入门.pdf

    Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制,因此 Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。 Spark 优点: 运行速度快:使用DAG执行引擎以支持循环数据流...

    大数据之运维.pptx

    Hive使用场景 Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的...

    阿里巴巴开源的分布式计算系统 JStorm.zip

     JStorm 是一个类似Hadoop MapReduce的系统, 用户按照指定的接口实现一个任务,然后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,并且按7 * 24小时运行起来,一旦中间一个Worker 发生意外故障, 调度器...

    大数据应用测试经验总结.pdf

    任务调度:使⽤Quartz实现作业调度及管理。 5. 监控接⼝:使⽤Kafka、⽂件接⼝对接统⼀监控平台。 6. 数据可视化:使⽤JQuery、Echarts、Easy UI等技术实现图表、表格展⽰;使⽤Apache POI实现excel、CSV的导⼊导出...

Global site tag (gtag.js) - Google Analytics