hadoop之yarn

yarn简单介绍:

        yarn是hadoop集群当中的资源管理系统模块,从hadoop2.x开始引入yarn来进行管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU,内存,磁盘,网络IO等)以及运行在yarn上面的各种任务。

       其调度分为两个层级来说:

               一级调度管理:

                                  计算资源管理(CPU,内存,网络IO,磁盘)

                                  App生命周期管理 (每一个应用执行的情况,都需要汇报给ResourceManager)

                二级调度管理:

                                 App内部的计算模型管理  (AppMaster的任务精细化管理)

                                多样化的计算模型 

组件介绍:

               ResourManager: yarn主节点,主要负责集群资源分配和任务调度,以及接收客户端提交的任务。

               NodeManager: yarn从节点,负责执行任务。

               ApplicationMaster: ResourceManager接收新任务分配给NodeManager时,在当前NodeManager上启动一个ApplicationMaster,负责任务需要的资源分配、生命周期的管理等工作

              Container:ApplicationMaster启动后,与ResourceManager建立通信,向ResourceManager申请资源,ResourceManager将资源分配给ApplicationMaster,这些资源的表示,就是一个个的Container。

             JobHistoryServer:yarn集群提供的一个任务执行完成查看日志的服务。

             TimeLineServer:hadoop2.4.0以后出现的新特性,主要是为了监控所有运行在yarn平台上面的所有任务(例如MR,Storm,Spark,HBase等等)

组件功能:

        ResourceManager:

                                      处理客户端请求

                                      启动/监控ApplicationMaster

                                      监控NodeManager

                                      资源分配与调度

          NodeManager:

                                  单个节点上的资源管理和任务管理

                                  接收并处理来自ResourceManager的命令

                                  接收并处理来自ApplicationMaster的命令

                                  管理抽象容器Container

                                  定时向ResourceManager汇报本节点资源使用情况和各个Container的运行状态

            ApplicationMaster:

                                          数据切分

                                         为应用程序申请资源

                                         任务监控与容错

                                         负责协调来自ResourceManager的资源,开通NodeManager监视容的执行和资源使用(CPU,内存等的资源分配)

            Container:

                             对任务运行环境的抽象

                            任务运行资源(节点,内存,cpu)

                            任务启动命令

                            任务运行环境

架构图:

hadoop之yarn_第1张图片

调度器:

       FIFO Scheduler:队列调度器,根据任务到达情况执行,先到先执行。

       Capacity  Scheduler:容量调度器,根据节点资源情况分配任务,apache版本默认任务调度

       Fair  Schedule:公平调度器,任务分配随机,CDH版本默认任务调度器

你可能感兴趣的:(大数据,hadoop)