版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式资源调度系统——YARN技术CONTENTS目录01
本章学习目标02
YARN概述03
YARN的基本框架04
YARN的资源调度器05
YARN实践案例:计算圆周率06
本章总结与思考本章学习目标01本章核心学习目标
了解层次目标了解MapReduce的局限性及YARN产生的背景,理解技术迭代的必要性
理解层次目标理解YARN的总体框架、工作流程、进程组成及资源表示模型Container
应用层次目标掌握使用YARN框架执行计算任务及通过Web页面监控任务的方法YARN概述02MapReduce概述
MapReduce的核心价值简化分布式计算开发,让开发者聚焦业务逻辑,框架处理分布式复杂性
MapReduce的核心组件包含JobTracker(集群资源管理与作业控制)、TaskTracker(任务执行与状态汇报)两大核心组件
MapReduce的工作流程输入分片→Map处理→排序合并→Reduce处理→输出结果,实现并行计算MapReduce的局限性扩展性差JobTracker同时负责资源管理与作业控制,成为系统瓶颈,制约集群扩展可靠性差采用Master-Slave结构,Master存在单点故障,故障后整个集群不可用资源利用率低采用粗粒度槽位模型,槽位分为Mapslot和Reduceslot且无法共享,易导致资源闲置框架兼容性不足仅支持基于磁盘的离线计算,无法兼容Spark、Flink等新型计算框架YARN产生的背景
可扩展性需求雅虎WebMap应用面临超千亿节点规模,原框架扩展性不足,需新架构突破瓶颈
多租户需求搜索、内容优化等多团队需共享集群资源,原框架无法满足多租户隔离需求
可维护性需求Hadoop每三个月重大修订,原框架升级依赖耦合度高,需解耦提升可维护性
可用性需求JobTracker单点故障会丢失所有运行作业,需优化架构避免单点风险
向下兼容需求需兼容现有MapReduce应用生态,避免大规模重构成本YARN的核心优势
高扩展性分离资源管理与作业调度功能,突破单节点瓶颈,支持更大规模集群
资源统一管理统一管理CPU、内存、磁盘、网络资源,提升资源利用率与调度灵活性
多框架兼容支持MapReduce、Spark、Flink等多种计算框架,实现资源共享与统一调度
架构解耦资源管理框架与上层应用框架解耦,各自可独立升级,提升系统可维护性YARN的基本框架03YARN的总体架构YARN架构类型采用Master-Slave结构,包含一个ResourceManager(Master)和多个NodeManager(Slave)核心组件构成包含ResourceManager、NodeManager、ApplicationMaster、Container、Client五大核心组件组件协作关系ResourceManager负责集群资源全局管理,NodeManager负责节点资源管理,ApplicationMaster负责应用资源申请与任务调度ResourceManager组件ResourceManager的核心功能负责集群资源统一管理与调度,处理客户端作业提交/结束请求,监控NodeManager状态ResourceManager的核心部件包含调度器、AppMaster服务器、Client-AppMaster接口、AppMaster-NodeManager接口四大部件ResourceManager的故障处理当NodeManager故障时,通知AppMaster处理该节点上的任务,保障作业连续性NodeManager组件
NodeManager的核心功能负责单个节点的资源管理与使用,定时向ResourceManager汇报节点资源状态
NodeManager的命令处理接收并执行ResourceManager的命令(如启动Container),以及ApplicationMaster的任务命令
NodeManager的通信机制通过心跳机制与ResourceManager保持通信,汇报节点健康状态与资源使用情况ApplicationMaster组件
ApplicationMaster的核心功能每个应用对应一个ApplicationMaster,负责应用管理、资源申请与任务调度
ApplicationMaster的资源申请向ResourceManager申请CPU、内存等资源,并将资源分配给内部任务
ApplicationMaster的任务管理与NodeManager通信启动/停止任务,任务运行在Container中,自身也运行在Container内Container组件Container的基本概念
封装CPU、内存等资源的容器,是任务运行环境的抽象,与LinuxContainer无直接关系Container的两种类型
运行ApplicationMaster的Container(由ResourceManager申请启动)、运行任务的Container(由ApplicationMaster申请启动)Container的核心作用
封装计算资源,抽象任务运行环境,是YARN中资源分配与任务执行的基本单位YARN的任务执行流程步骤一:作业提交用户通过客户端向YARN提交作业,指定作业相关参数与资源需求步骤二:启动ApplicationMasterResourceManager为作业申请资源并启动ApplicationMaster,ApplicationMaster运行在Container中步骤三:资源申请ApplicationMaster将任务划分为子任务,向ResourceManager申请所需资源步骤四:任务启动ApplicationMaster与NodeManager通信,在分配的Container中启动任务步骤五:资源释放任务执行完成后,ApplicationMaster向ResourceManager释放资源,作业结束Container的资源计算
Hadoop1.0与2.0资源模型对比Hadoop1.0采用固定槽位模型,Hadoop2.0采用灵活的Container模型,支持资源动态分配
Container个数计算公式Container个数=min(2cores,1.8disk,总内存/最小容量),通过参数配置控制Container数量
Container的资源配置可通过Yarn-site.xml配置NodeManager管理的内存与虚拟核心数,如每个NodeManager管理1630MB内存、2个虚拟核心YARN的资源调度器04YARN调度器概述
调度器的核心作用是YARN的核心组件,负责集群资源的分配与调度,支持插拔式实现不同调度策略
资源组织方式资源以资源池形式组织,对应队列(queue),队列采用树状结构,根队列为root
调度器的核心类型包含FIFOScheduler、CapacityScheduler、FairScheduler三种核心调度器FIFO调度器
FIFO调度器的核心原理按作业提交顺序排成先进先出队列,优先为队列头部作业分配资源,满足后再分配下一个
FIFO调度器的特点实现简单、无需配置,但不适用于共享集群,大作业易阻塞小作业,资源利用率低
FIFO调度器的适用场景适用于单用户、作业量少的场景,或对公平性要求不高的离线计算场景Capacity调度器
Capacity调度器的核心原理允许多组织共享集群,为每个组织分配专用队列与资源,队列内部采用FIFO策略
Capacity调度器的核心特点支持“弹性队列”功能,队列可使用空闲资源超配,但无资源抢占机制,需等待其他队列释放资源
Capacity调度器的关键配置可配置队列容量、最大容量、用户资源限制因子等参数,如通过Yarn.scheduler.capacity配置队列容量Fair调度器Fair调度器的核心原理为所有运行的应用公平分配资源,动态调整资源分配,保证小作业快速完成Fair调度器的核心特点无需预先分配资源,作业提交后动态共享资源,大作业和小作业可同时获得资源Fair调度器的适用场景适用于多用户共享集群场景,能平衡不同大小作业的资源需求,提升用户体验Capacity与Fair调度器对比资源分配策略差异Capacity调度器队列内部采用FIFO策略,Fair调度器采用公平共享策略,动态调整资源资源弹性差异Capacity调度器支持弹性队列但无抢占,Fair调度器通过动态调整实现资源公平配置复杂度差异Capacity调度器配置更简单,Fair调度器配置相对复杂但灵活性更高适用场景差异Capacity调度器适用于多组织固定资源分配场景,Fair调度器适用于多用户动态资源共享场景YARN实践案例:计算圆周率05案例背景与原理
案例背景采用MapReduce自带的圆周率计算示例,展示YARN框架的实际应用
核心算法原理采用蒙特卡洛随机投点法,在(0,0)到(1,1)范围内投点,通过圆内点占比计算圆周率
算法公式推导由圆面积与正方形面积比推导圆周率公式:π=4×(圆内点数/总投点数)任务执行步骤
准备计算程序使用Hadoop自带的mapreduce-examples.jar包,该包包含圆周率计算示例
执行计算命令执行命令:yarnjarhadoop-mapreduce-examples-3.2.4.jarpi103000,其中10为Map任务数,3000为每个任务投点次数
查看计算结果程序运行后输出计算得到的圆周率值,如参数为10和3000时得到约3.141467的结果YARNWeb页面监控
01Web页面访问方式通过集群中ResourceManager节点的8088端口访问YARNWeb监控页面,查看任务状态
02核心监控指标区域包含集群指标(提交/运行/完成作业数、资源使用情况等)、调度器指标、任务信息等核心区域
03集群指标详解关键指标包括AppsSubmitted(提交作业数)、ContainersRunning(运行容器数)、Memory/VCoresUsed(资源使用量)等YARNWeb页面核心功能
01集群资源监控监控集群整体资源使用情况,包括内存、虚拟核心的总容量、已使用量与剩余量
02节点状态监控查看所有NodeManager节点的状态,包括节点健康情况、资源使用情况等
03任务明细监控查看所有提交任务的状态、进度、资源使用情况,支持按状态过滤任务
04调度器指标监控查看队列资源使用情况、调度策略、队列容量配置等调度器相关指标节点资源配置与监控
节点资源配置通过Yarn-site.xml配置NodeManager管理的内存与虚拟核心数,如每个节点配置1630MB内存、2个虚拟核心
节点状态查看点击Web页面中NodeHTTPAddress链接,查看具体节点的详细信息,包括资源使用、Container运行情况等
虚拟内存配置通过yarn.nodemanager.vmem-pmem-ratio配置虚拟内存与物理内存的比例,如配置为4.1表示虚拟内存为物理内存的4.1倍调度器指标详解队列容量配置包括ConfiguredCapacity(配置容量)、ConfiguredMaxCapacity(最大容量)等参数,控制队列资源分配用户资源限制包括ConfiguredMinimumUserLimitPercent(用户最小资源限制百分比)、ConfiguredUserLimitFactor(用户资源限制因子)等参数应用资源限制包括MaxApplications(最大运行应用数)、MaxApplicationsPerUser(单用户最大应用数)等参数,控制应用并发数本章总结与思考06本章核心内容总结
YARN技术背景因MapReduce存在扩展性差、可靠性低等局限性,YARN作为解决方案应运而生YARN核心架构采用Master-Slave结构,包含ResourceManager、NodeManager、ApplicationMaster、Container四大核心组件YARN资源调度支持FIFO、Capacity、Fair三种调度器,满足不同场景的资源分配需求YARN实践应用可通过YARN框架执行计算任务,并通过Web页面监控任务状态与资源使用情况知识体系拓展
YARN的实际应用场景广泛应用于大数据离线计算、实时计算、机器学习等场景,是大数据平台的核心资源调度层
YARN与其他技术的关系与HDFS、MapReduce、Spark等技术共同构成Hadoop生态系统,实现数据存储与计算的一体化
后续学习方向可深入学习YARN的高级配置、性能优化、高可用部署等内容,提升YARN集群的管理能力关键术语回顾核心组件术语ResourceManager、NodeManager、ApplicationMaster、Container、Client调度器术语FIFOScheduler、CapacityScheduler、FairScheduler、队列(queue)、资源池资源模型术语槽位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国助理医师之中西医结合助理医师考试高频题(附答案)
- 2026服装品牌营销策略深度调研及品牌创新趋势报告书
- 2026服装加工产业市场供需特色及时尚化投资评估规划前景研究分析报告
- 2026服务业细分市场分析与发展趋势展望投资布局战略性规划报告
- 2026教育行业短视频营销策略与转化率提升报告
- 2026教育咨询行业市场现状调研及服务模式与盈利潜力报告
- 2026教育信息化产品市场应用现状与投资价值评估报告
- 2026攻坚克难行业技术突破需求供给核心投资潜力规划分析研究报告
- 2026拉美跨境数字营销服务本土化陷阱规避报告
- 2026建筑门窗节能标准升级对行业影响深度分析报告
- 夏季司机安全培训内容课件
- 传统中医药浴配方大全
- 国内饲料法规培训
- 药事法规和专业知识培训课件
- 贵州国企薪酬管理办法
- 医疗公司精神文明建设办法
- 2025年化工安全与环保试题及答案
- 大学国家安全教育考试试题及答案
- 《MWORKS API与工业应用开发》全套教学课件
- 艺人助理合同协议
- 陈皮厂家仓库管理制度
评论
0/150
提交评论