• hadoop之yarn


    简介

    一、YARN是一个通用资源管理系统和调度平台,为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
    在这里插入图片描述
    1、通用指不仅支持mr程序,也支持其它计算程序
    2、资源管理包括集群的硬件资源、cpu、内存等
    3、调度平台指多个程序同时执行时 如何分配计算资源,调度的规则(算法)
    二、YARN类似一个分布式的操作系统平台,为MapReduce等计算程序提供运行所需的内存、CPU等资源。
    三、yarn在hadoop中的位置
    在这里插入图片描述

    发展史

    数据的计算处理过程 = 数据 + 程序 + 运算资源
    原始:单机环境,三者的协调不是问题,但是海量数据则需要分布式处理

    第0阶段:Ad Hoc集群
    没有持久存储数据的需求,也没有共享数据和计算结果的动机。在少量节点上搭建集群环境,将数据保存在hdfs中,运行map reduce任务获得结果,拆掉集群

    第1阶段:HOD集群
    数据持久存储在hdfs中,并共享。Yahoo开发了HOD平台,在一个大规模的物理集群上供应虚拟hadoop集群系统。在已经分配的节点上,HOD启动mMR和HDFS守护进程来响应用户数据和应用的请求。
    缺点:无法支持数据本地化、资源回收率低、无法动态扩容缩容、多租户共享延迟高等
    在这里插入图片描述
    第2阶段:共享MR
    是hadoop1.x中的主要框架模型
    在这里插入图片描述
    JobTracker 中央守护进程,负责运行集群上的所有作业。
    TaskTracker 系统里的从进程,根据JobTracker 指令执行任务
    缺点:JobTracker既做计算又管理资源,可扩展性差

    第3阶段:YARN集群
    mr专项负责计算,yarn负责任务调度和资源管理
    yarn可解决以往架构的需求和缺陷

    在这里插入图片描述

    架构

    yarn是标准的主从架构,ResourceManager是Master,NodeManager是Slave。

    一主多从集群

    在这里插入图片描述
    1、Client 向RM提交MR作业
    2、RM 接收client提交的作业、给AppMaster分配资源、监听NM节点状态、监听AppMaster运行状态
    3、NM 向RM汇报节点状态
    4、AppMaster 向RM申请计算资源、监听Container(MR TASK)作业状态
    5、Container(MR TASK)向AppMaster汇报MR作业状态

    集群角色
    在这里插入图片描述
    一、RM
    1、集群中的主角色,决定系统中所有应用程序之间资源分配的最终权限。
    2、RM接受用户提交的作业,并通过NM分配和管理各个机器上的计算资源,资源以Container容器形式给与。
    3、RM包含应用程序管理器(Applications Manager ASM)、调度器(Scheduler)等组件
    a. 调度器根据容量、队列等限制条件,将系统中的资源分配给各个正在运行的应用程序。
    b. 应用程序管理器负责管理整个系统中所有的应用程序,包括应用程序提交、与调度器协商资源以启动Application Manager(AM)、监控AM运行状态并在失败时重新启动它等。

    二、NM
    1、集群中的从角色,一台机器上部署一个N,负责管理本机器上的资源。
    2、 定时向RM汇报本节点上的资源使用情况和各容器的运行状态
    3、接受AM的命令启动|停止容器等

    三、ApplicationMaster (App Mast)(AM)
    1、用户提交的每个应用程序均包含一个AM,是应用程序内的老大,负责程序内部各阶段的资源申请,监控程序执行情况。
    2、向RM的ASM 注册或者撤销自己
    3、与RM调度器协商获取资源(用容器表示)
    4、将得到的任务进一步分配给内部的任务
    4、与NM通信以启动/停止任务;
    5、监听所有任务运行状态,任务执行失败时重新为任务申请资源以重启任务

    四、容器
    1、yarn中的资源抽象,封装了某个节点上的多维资源,如内存、cpu、磁盘、网络等等
    2、AM向RM申请资源时,RM为AM返回一个Container对象。
    3、yarn会为每个任务分配一个Container,给任务只能使用该分配的资源。
    4、当前yarn只支持cpu和内存两种资源,底层使用了轻量级资源隔离机制

    通信协议
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    YARN HA高可用集群

    基于zookeeper集群实现YARN HA,解决RM单点故障问题
    在这里插入图片描述

    实现HA的关键是主备之间状态数据同步和顺序切换;通过zk存储共享集群的状态数据(zk本质也是小文件存储系统);可手动或者基于zk的ActiveStandyElector来自动实现主备切换;ActiveStandyElector是嵌入在RM中充当故障检查器和leader选举的线程,不是单独的ZKFC守护进程(HDFS运行单独的ZKFC守护进程)

    自动切换原理(故障转移原理)
    在这里插入图片描述
    在这里插入图片描述

    部署

    一主多从集群

    YARN集群通常和HDFS一起搭建,NM通常和HDFS的DN部署在一起,方便数据计算。
    在这里插入图片描述

    步骤一:服务器基础环境准备
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    步骤二:上传、解压安装包
    在这里插入图片描述

    步骤三:hadoop安装包目录结构
    在这里插入图片描述
    步骤四:编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    步骤五:分发同步安装包
    在这里插入图片描述
    步骤六:配置环境变量
    在这里插入图片描述
    步骤七:格式化操作
    在这里插入图片描述
    步骤八:启动
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    YARN HA集群搭建

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    RM重启机制

    RM负责资源管理和应用调度,单点部署时可通过重启机制,使RM失败时不被用户发现。
    RM的重启机制有两种:Non-work-preserving 和 Work-preserving
    Non-work-preserving不保留运行过程产生的数据,只保留应用提交的信息和最终执行状态,重启后重新执行任务
    在这里插入图片描述
    Work-preserving保留运行过程产生的数据,重启会继续执行。
    在这里插入图片描述
    RM状态数据的存储介质
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    初识C语言 -- 结构体,分支和循环语句
    哪些人更容易受到网络攻击?
    【控制模型】数字 PID 控制 — 位置式PID算法
    shell之常用小工具(sort、uniq、tr、cut)
    springcloudalibaba架构(13):Spring Cloud Gateway服务网关和入门案例
    Python计算二项分布教程
    Java-堆和栈的概念和区别-1
    [教程] 一文进阶Redis
    python的迭代器和生成器
    Linux高性能服务器编程——ch5笔记
  • 原文地址:https://blog.csdn.net/qq_17200461/article/details/125538864