zoukankan      html  css  js  c++  java
  • YARN 基础

    一、YARN 简介

    YARN(Yet Another Resource Negotiator,资源协调者) 是一种新的Hadoop 资源管理器,是一个通用的资源管理系统,可以为上层应用提供统一的资源管理和调度。它的引入为集群在利用率,资源统一管理和数据共享方面带来了很大的好处。

    YARN 是随着Hadoop 发展而催生的新框架,取代了以前Hadoop1.x 中JobTracker 的角色。之前的JobTracker不仅要负责任务的调度,还要负责任务的追踪以及失败重启等过程。为了解决JobTracker 任务过重、只能运行MapReduce作业、不支持其他编程模式的问题,YARN 作为一种解决方案就出现了。

    二、YARN 架构
    YARN 由Client,ResourceManager,NodeManager,ApplicationMaster组成,采用Master/Slave 结构,一个ResourceManager 对应多个NodeManager。

    三、YARN 核心组件功能
    ResourceManager:整个集群只有一个,负责集群资源的统一管理和调度。
    处理来自客户端的请求(启动/终止 应用程序)
    启动/监控 ApplicationMaster: 一个AM出故障,RM将会在另一个节点上启动该AM。
    监控NodeManager,接收NodeManager 汇报的心跳信息并分配任务给NodeManager 去执行;一旦某个NM出故障,标记该NM上的任务,告诉对应的AM该如何处理。

    NodeManager:整个集群中有多个,负责单节点资源管理和使用。
    周期性地向RM汇报本节点上的资源的使用情况和各个Container的运行状态
    接收并处理来自ResourceManager的Container 启动/停止的各种命令
    处理来自ApplicationMaster 的命令

    ApplicationMaster:每个应用一个,负责应用程序的管理。
    数据切分
    为应用程序/作业向ResourceManager 申请资源(Container),并分配给内部任务。
    与NodeManager 通信以启动/停止任务。
    任务监控和容错(在任务执行失败时重新为该任务申请资源以重启任务)
    处理Resource 发过来的命令,终止Container,让NodeManager 重启等

    Container: 对任务运行环境的抽象
    任务运行资源(节点、内存、CPU)
    任务启动命令
    任务运行环境
    任务是运行在Container 中,一个Container 中既可以运行ApplicationMaster,也可以运行具体的Map、Reduce、MPI(消息传递接口)、Spark Task。

  • 相关阅读:
    Tarjan算法求双连通分量
    Tarjan
    前端技术实现js图片水印
    记录一下ionic canvas图片,还有canvas里面的图片跨域的问题
    ionic cordova screenshot 使用和操作
    关于ionic2 更新到ionic3 后组件不能用的解决方案
    背景图处理,这是个好东西记录一下
    radio样式的写法,单选和多选如何快速的改变默认样式,纯CSS,
    ionic使用cordova插件中的Screenshot截图分享功能
    ionic中执行pop返回上一个页面,还需要执行操作
  • 原文地址:https://www.cnblogs.com/wbringarden/p/10247346.html
Copyright © 2011-2022 走看看