| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hadoop(七) -- Yarn -> 正文阅读 |
|
[大数据]Hadoop(七) -- Yarn |
一、Yarn概述 资源调度器,负责计算程序的资源调度。 Yarn采用主从架构,主节点RecourceManager,从节点NodeManager。 1. ResourceManager ????????ResourceManager是基于应用程序对集群资源的需求进行调度的YARN集群主控节点,负责协调和管理整个集群(所有nodemanager的资源),相应用户提交的不同类型应用程序的解析,调度,监控等工作。ResourceManager为每个Application启动一个MRAppMaster,并且MRAppMaster分散在各个NodeManager节点。 ? ? ? ? 作用: ? ? ? ? ? ? ? ? 1)处理客户端请求 ? ? ? ? ? ? ? ? 2)启动并监控MRAppMaster ? ? ? ? ? ? ? ? 3)监控NodeManager ? ? ? ? ? ? ? ? 4)资源的分配和调度 ????????它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationsManager, ASM) ? ? ? ? 1)ASM: ApplicationsManager? ? 应用程序管理器 ? ? ? ? ? ? ? ? 负责管理应用程序的状态,分配应用程序运行的资源,管理应用程序的MRAppMaster ? ? ? ? ? ? ? ? a. 为每一个应用程序MRAppMaster分配资源 ? ? ? ? ? ? ? ? b. 启动每一个应用程序的MRAppMaster ? ? ? ? ? ? ? ? c. 监控每个MRAppMaster的运行状态和进度 ? ? ? ? ? ? ? ? d. 回收MRAppMaster的资源 ? ? ? ? 2)Scheduler? ? 调度器 ? ? ? ? ? ? ? ? 决定应用程序的执行顺序,负责每一个application任务的资源调度。 ? ? ? ? ? ? ? ? application的调度: ? ? ? ? ? ? ? ? ? ? ? ? a. FIFO? ? 单一队列调度器 ? ? ? ? ? ? ? ? ? ? ? ? b. FAIR? ? 公平调度器。所有任务平分资源 ? ? ? ? ? ? ? ? ? ? ? ? c. Capacity? ? 计算能力调度器。多个队列根据实际任务量分配资源,每个队列FIFO ? ? ? ? 每个计算任务先向ASM进行注册,注册后申请资源开始计算,此时调度器开始调度。 2. NodeManager ? ? ? ? 作用: ? ? ? ? ? ? ? ? 1)管理单个节点上的资源 ? ? ? ? ? ? ? ? 2)处理来自RescouceManager的命令 ? ? ? ? ? ? ? ? 3)处理来自MRAppMaster的命令 ? ? ? ? NodeManager真正负责数据的计算并为计算程序提供资源。 ? ? ? ? Container:资源提供的最小单位。逻辑资源容器,用于资源隔离。每个Container中封装了一定的CPU、IO、网络和内存等资源。 二、Yarn的资源调度 ? ? ? ? 概念: ? ? ? ? MRAppMaster:启动应用程序时最先启动的就是MRAppMaster。MRAppMaster是应用程序的管理者,每个应用程序对应一个MRAppMaster。 ? ? ? ? 作用: ? ? ? ? ? ? ? ? 1)帮助maptask、reducetask申请运行资源 ? ? ? ? ? ? ? ? 2)负责跟踪maptask、reducetask的运行进度 ? ? ? ? ? ? ? ? 3)负责maptask、reducetask的启动 Yarn的资源调度过程: ? ? ? ? 1)客户端进行应用程序提交时,先提交给RecourceManager ? ? ? ? 2)RecourceManager给客户端返回一个节点,用于启动MRAppMaster ? ? ? ? 3)RecourceManager(ASM) 在对应的节点上先启动一个Container并在这个Container中启动RecourceManager(NodeManager上) ? ? ? ? 4)MRAppMaster向RecourceManager申请资源,包括maptask和reducetask的资源 ? ? ? ? 5)RecourceManager向MRAppMaster返回maptask和reducetask运行的资源节点。返回资源节点时优先返回计算数据存在的节点(数据本地化) ? ? ? ? 6)MRAppMaster到对应的节点上启动Container,在Container中启动maptask和reducetask ? ? ? ? 7)maptask、reducetask定时向MRAppMaster汇报状态和进度 ? ? ? ? 8)当所有的maptask任务和reducetask任务都执行完毕的时候MRAppmaster向RM进行汇报,回收资源? ? ? ?? 三、job提交
执行maptask任务时,将原来的大任务切分成多个小的maptask任务 job.jar???????????? jar包???????????? wc.jar(同一命名为job.jar) job.split????????? 切片信息?????? 数据的切片信息?? 切片对应数据的存储节点 job.splitmetainfo?????????? 切片信息的元数据 job.xml?? 有关job的所有配置项 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:26:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |