Hadoop YARN:分布式资源调度的新框架
126 浏览量
更新于2024-08-31
收藏 2.09MB PDF 举报
“分布式资源调度——YARN框架”
Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)是Hadoop 2.x引入的一种全新的资源管理器,旨在解决Hadoop 1.x MapReduce框架中出现的问题。在MapReduce 1.x时代,JobTracker作为单一的中心节点,承担着资源管理和作业调度的重任,导致了严重的单点故障风险、节点压力过大、不易扩展以及不支持多框架作业等问题。
YARN的产生背景主要基于以下几个关键问题:
1. **单点故障**:JobTracker的唯一性意味着如果它发生故障,整个集群将无法正常工作,这是非常不稳定的架构设计。
2. **节点压力大**:JobTracker既要处理客户端请求,又要处理来自所有TaskTracker的报告,这使得JobTracker节点的负载极高。
3. **不易扩展**:由于JobTracker是单节点,随着集群规模的扩大,它容易成为性能瓶颈,难以通过增加节点来扩展。
4. **职责过重**:JobTracker负责的任务过多,包括资源分配、作业调度、监控等,这不利于系统的模块化和高效运行。
5. **不支持多框架作业**:1.x版本仅支持MapReduce作业,导致需要为不同的计算框架(如Spark)建立独立的集群,造成资源利用率低和运维成本高。
为了解决这些问题,YARN将资源管理和作业调度职责分离。YARN架构的主要组件包括ResourceManager(RM)、ApplicationMaster(AM)和NodeManager(NM):
- **ResourceManager(RM)**:作为全局资源管理者,负责集群资源的分配和监控,解决了单点故障问题。
- **ApplicationMaster**:每个应用程序(如MapReduce、Spark)都有一个自己的AM,负责申请资源、与RM协商,并监控任务的执行。
- **NodeManager**:运行在每个节点上,负责该节点的资源管理和任务执行,直接与RM和AM通信,减轻了中心节点的压力。
通过这样的设计,YARN允许多个计算框架如MapReduce、Spark、Tez等在同一集群上并行运行,提高了资源利用率,降低了运维成本。此外,通过统一的资源管理层,各个框架可以共享集群资源,减少了数据传输的网络IO开销,提高了整体系统的效率和灵活性。
YARN的引入,是Hadoop发展史上的一次重大革新,它为大数据处理提供了更加健壮、可扩展和多框架兼容的平台,极大地推动了大数据生态系统的发展。
2019-04-24 上传
2017-11-27 上传
2021-01-07 上传
点击了解资源详情
2015-02-12 上传
2011-04-11 上传
2021-08-08 上传
2021-01-20 上传
点击了解资源详情
weixin_38638799
- 粉丝: 5
- 资源: 952
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程