美文网首页
yarn 的知识要点

yarn 的知识要点

作者: 风暴之芽 | 来源:发表于2019-02-02 13:11 被阅读0次

    yarn是一个资源调度系统,也可以视为一个在hadoop2.0平台上的插件系统,在HDFS的基础上,可以在yarn上运行多个计算框架,例如spark、sparksteaming、flink、MR等。

    Hadoop2.0下的yarn可运行的计算框架

    一、yarn的核心

    RM(resource manager)的职责:

    1.除了客户端的请求,接受JobSubmitter提交的作业(按照作业的上下文(Context))信息run.sh提交的参数,以及从NM(nodemanager)收集来的状态信息),启动调度过程,分配一个container作为APP master

    2.RM作为中心服务,拥有系统中所有应用的资源分配决定权,其工作是调度、启动每一个job所属的application、监控application的存在情况

    3.通过心跳通信,达到监控NM(nodemanager)

    4.RM有一个纯碎的调度器组件scheduler

    NM(nodemanager)的职责:

    1.是slave进程,是每台机器的框架代理

    2.处理来自RM的任务请求

    3.接受处理来自AM(application master)的container的启动、停止请求

    4.启动应用程序的container,并监控资源使用情况,并报告给RM

    AM(application master)的职责:

    1.应用程序的master,每一个应用对应一个AM,在用户提交一个应用程序时,一个AM的轻量型进程实力会启动,AM会协调这个应用程序内的所有任务的执行

    2.负责一个job任务生命周期内的所有工作

    3.每一个job都有一个AM,运行在RM机器之外的机器上

    4.和NM协同工作,与RM的scheduler协商合适的container,并监控

    container:

    1.container(进程需要的资源cpu,内存,io)是进程

    在mapreduce中container作为一个map task或者是一个reduce task

    在spark container 可以同时拥有map task(线程)+reduce task(线程)

    二、yarn的运行过程

    运行图

    1.client端提交一个任务请求给RM,RM运行之

    2.RM选择一个NM启动container,运行application master

    3.AM向RM请求适合的container来运行请求

    4.AM通过请求获得更多的container来运行作业

    三、高可用

    1.RM挂掉:通过zookeeper设置备用RM,所谓高可用,当前RM挂掉,备用RM上位(机器要单数,zookeeper才可保证有一台被选主)

    2.AM挂掉:通知RM,RM重启挂掉的AM,AM上有个RM applicationmanager,记录着AM的任务记录,已经完成的application不会重复

    3.NM挂掉:不止一个,当一个挂掉,会通过心跳方式通知RM,RM知会AM,做进一步处理

    相关文章

      网友评论

          本文标题:yarn 的知识要点

          本文链接:https://www.haomeiwen.com/subject/bjtjsqtx.html