大数据技术基础 MapReduce集群调度

  • Hadoop集群架构
    在分布式存储和计算方面,Hadoop采用的是主从架构,集群主要由NameNode,DataNode,SecondaryNameNode,JobTracker,TaskTracker组成。

一、Hadoop 1.x的传统集群调度框架

经典的Hadoop 1.x 的MapReduce采用Master/Slave结构

  • Master是整个集群唯一的全局管理者,功能包括作业管理、状态监控和任务调度等(JobTracker);

    • JobTracker是一个后台服务进程,启动之后,会一直监听并接收各个TaskTracker发送的心跳信息,包括资源使用情况和任务运行情况等;
    • JobTracker的功能作业控制(作用是容错和为任务调度提供决策依据)、资源管理(TaskTracker与JobTracker和Task之间采用RPC协议进行通信)。
  • Slave负责任务的执行和任务状态的回报(TaskTracker);

    • TaskTracker的功能汇报心跳(Tracker周期性地将所有节点上的各种信息【包括机器级别信息(如节点健康情况、资源使用情况)和任务级别信息(如任务执行进度、任务运行状态)】通过心跳机制汇报给JobTracker)、执行命令(主要包括启动任务、提交任务、杀死任务、杀死作业和重新初始化)。
  • JobTracker对应于 Hadoop的HDFS架构中的NameNode节点;

    • JobTracker是一个Mater服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务Task,使其运行于TaskTracker上,并监控它们。一般情况下应该把JobTracker部署在单独的机器上
  • TaskTracker对应于 Hadoop的HDFS架构中的DataNode节点;

    • TaskTracker是运行在多个节点上的Slave服务;TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker需要运行在HDFS的DataNode上
      在这里插入图片描述

二、Hadoop/MapReduce 1.x的架构问题

在传统的MapReduce中,JobTracker同时负责作业调度和任务进度管理,JobTracker节点成为整个平台的瓶颈。

  • 单点故障&节点压力大&不易扩展
    • JobTracker受内存限制,导致扩展性受限
    • 中心化架构的通病,一旦JobTracker崩溃,整个集群都会崩溃
    • TaskTracker的Map Slot和Reduce Slot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值