zoukankan      html  css  js  c++  java
  • Yarn 资源调度框架

    Yarn 资源调度框架
        实现对资源的细粒度封装(cpu,内存,带宽)
        此外,还可以通过yarn协调多种不同计算框架(MR,Spark)
        概述
            Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在资源利用率、资源统一管理和数据共享等方面带来了巨大好处。
        核心思想
            a. 一个全局的资源管理器 ResourceManager
            b.ResourceManager的每个节点代理 NodeManager
            c. 表示每个应用的 ApplicationMaster
            d. 每一个ApplicationMaster拥有多个Container在NodeManager上运行
        架构
            RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。
            调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resource Container,简称Container)表示,
            ApplicationMaster(AM)
                用户提交的每个应用程序均包含一个AM,主要功能包括:
                与RM调度器协商以获取资源(用Container表示);
                将得到的任务进一步分配给内部的任务(资源的二次分配);
                与NM通信以启动/停止任务;
                监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
            NodeManager(NM)
                NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动/停止等各种请求。
            Container
                Container是YARN中的资源抽象,它封装了某个节点上的内存、CPU资源,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
        uber模式
            开启这种模式可以让JVM重用。据Arun的说法,启用该功能能够让一些任务的执行效率提高2到3倍(“we've observed 2x-3x speedup for some jobs”)
        小文件处理方法
            处理方式一:开启Hadoop的JVM重用机制,避免海量小文件(海量的map任务)带来的JVM频繁启停。
            处理方式二:将多个小文件合成一个文件或合成少量文件,这样可以减少map的任务数量

  • 相关阅读:
    adoQuery对象池
    面向對象囈語
    TDataSetProvider 元件的設定
    Midas的三種調用遠程方法的方式
    線程池
    数据库连接池类
    remobject 簡介
    多層開發注重效率的注意點
    修改的一个导出DataSet到xls的单元
    Git 换行符检查 CRLF 与 LF
  • 原文地址:https://www.cnblogs.com/Striverchen/p/10557825.html
Copyright © 2011-2022 走看看