Hadoop2.0中的YARN:集群资源调度框架解析
"Hadoop-Yarn是一个重要的分布式集群资源调度框架,是Hadoop 2.x的核心组件,用于管理和分配集群资源。YARN旨在解决Hadoop 1.x中JobTracker职责过重的问题,提高集群资源利用率,并支持多种计算框架如MapReduce、Spark、Hive等在同一平台上运行。" 在Hadoop 1.x版本中,MapReduce是主要的分布式计算框架。JobTracker是系统的核心,负责接收并分配计算任务,同时跟踪监控TaskTracker的任务执行状态。TaskTracker则执行由JobTracker分配的任务。然而,这种设计存在几个显著问题: 1. **JobTracker职责过重**:JobTracker既要管理资源分配,又要监控任务执行,这导致了单点性能瓶颈和资源浪费。 2. **资源利用率低**:由于JobTracker的限制,实时任务和批处理任务需要在不同的集群环境中运行,无法充分利用集群资源。 3. **不适用于多计算框架**:Hadoop 1.x仅专注于MapReduce,不便于其他计算模型如Spark或Hive的集成。 为了解决这些问题,Hadoop 2.x引入了YARN(Yet Another Resource Negotiator)。YARN将JobTracker的功能拆分为两个独立的服务: - **Resource Manager (RM)**:全局资源管理器,负责整个集群的资源管理和分配,它接受应用程序的申请,决定哪个应用程序可以使用多少资源,并将资源分配给各个应用程序的AppMaster。 - **Application Master (AM)**:每个应用程序特有的AppMaster,负责与RM协商获取资源,以及监控和管理应用程序内部的任务。 YARN的这种设计使得资源管理与任务执行分离,提高了系统的可扩展性和资源利用率。此外,它支持运行多种计算框架,因为每个框架可以有自己的AppMaster来协调其任务执行,无需关心底层的资源调度细节。 在YARN架构中,当用户提交一个应用程序,RM会启动一个容器来运行该应用程序的AM。AM与RM交互以获取执行任务所需的资源,然后AM根据任务需求进一步向RM申请容器,并监控这些容器的状态。Container是YARN中的基本资源单位,包含CPU、内存等资源,可以用来运行任务。 总结来说,Hadoop YARN是Hadoop生态系统的关键组成部分,它通过将资源管理和任务执行分离,提升了系统的效率和灵活性,支持了多样化的计算框架,优化了集群资源利用率,是大数据处理领域的一个重要进步。
![](https://csdnimg.cn/release/download_crawler_static/20643045/bg1.jpg)
下载后可阅读完整内容,剩余7页未读,立即下载
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/e4b37fa2ed97463aacb0525a499788ef_weixin_54108529.jpg!1)
- 粉丝: 4602
- 资源: 14
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)