2.5 MapReduce架构

MapReduce1.x

client

  • 客户端发送mr任务到集群
  • 客户端的种类有很多种
    • hadoop jar wordcount.jar

JobTracker

  • 接受客户端的mr任务
    • 选择一个资源丰富的,执行对应的任务
    • 并且给这个任务分配资源
  • 与TaskTracker保持心跳,接受汇报信息

TaskTracker

  • 保持心跳,汇报资源
  • 当分配资源之后,开始在本机分配对应的资源给Task
  • 并且实时监控任务的执行,并汇报

Slot(槽)

  • 属于JobTracker分配的资源
  • 计算能力,IO能力…
  • 不管任务大小,资源是恒定的,不灵活但是好管理

Task(MapTask–ReduceTask)

  • 开始按照MR的流程执行业务
  • 当任务完成时,JobTracker告诉TaskTracker回收资源

缺点:

  • 单点故障
  • 内存扩展
  • 业务瓶颈
  • 只能执行MR的操作
  • 如果其他框架需要运行在Hadoop上,需要独立开发自己的资源调度框架



MapReduce2.x

client

  • 客户端发送mr任务到集群
  • 客户端的种类有很多种
    • hadoop jar wordcount.jar

yarn(ResourceManager)

  • 资源协调框架的管理者
  • 分为主节点和备用节点(防止单点故障)
    • 主备的切换基于Zookeeper进行管理
  • 时刻与NodeManager保持心跳,接受NodeManager的汇报
    • 汇报当前节点的资源情况
  • 当有外部框架要使用资源的时候直接访问ResourceManager即可
  • 如果有MR任务,先去ResourceManager申请资源,ResourceManager根据汇报分配资源
    • 资源在NodeManager1,NodeManager1要负责开辟资源

yarn(NodeManager)

  • Yet Another Resource Negotiator(另一种资源协调者)
  • 资源协调框架的执行者
  • 每一个DataNode上默认有一个NodeManager
  • NodeManager汇报自己的信息到ResourceManager

Container

  • 2.x资源的代名词
  • Container动态分配的

ApplicationMaster

  • 我们本次任务的主导者
  • 负责调度本次被分配的资源Container
  • 当所有的节点任务全部完成,application告诉ResourceManager请求杀死当前ApplicationMaster线程
  • 本次任务所有的资源都会被释放

Task(MapTask–ReduceTask)

  • 开始按照MR的流程执行业务
  • 当任务完成时,ApplicationMaster接收到当前节点的回馈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值