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首先执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个分布式计算平台,最初由Apache开发和维护,由HDFS、MapReduce和YARN三个核心组件构成。 1. HDFS(Hadoop Distributed File System):是Hadoop的分布式文件系统,它将大文件分割成多个数据块,存储在不同的节点上,提供了高可靠性、高可扩展性的数据存储服务。HDFS的运行机制是将文件分块存储在多个数据节点上,每个数据块会存储多个副本,以保证数据的可靠性。当客户端需要读取数据时,它会向NameNode请求获取数据块的位置信息,然后直接从相应的数据节点读取数据。 2. MapReduce:是Hadoop的分布式计算框架,它能够在大规模数据集上进行并行化的计算和处理。MapReduce的运行机制是将任务分发到不同的节点上并行执行,其Map阶段负责数据的分片和处理,Reduce阶段负责结果的合并和输出。MapReduce的特点是简单、灵活、可扩展,能够处理大规模的数据集。 3. YARN(Yet Another Resource Negotiator):是Hadoop的资源管理和任务调度系统,它负责将集群的计算资源分配给不同的应用程序,以及管理和监控各个应用程序的运行状态。YARN的运行机制是将集群的计算资源划分为多个容器,每个容器可以运行一个应用程序,YARN会动态地分配和管理容器,以保证集群的资源利用率和应用程序的性能。 总之,HDFS、MapReduce和YARN是Hadoop的三个核心组件,它们共同构成了一个高可靠性、高可扩展性、高性能的分布式计算平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值