0

0

HDFS资源调度如何实现

幻夢星雲

幻夢星雲

发布时间:2025-05-27 14:08:27

|

556人浏览过

|

来源于php中文网

原创

hdfs资源调度如何实现

HDFS(Hadoop Distributed File System)的资源调度主要通过YARN(Yet Another Resource Negotiator)来实现。YARN是一个资源调度平台,负责为运行在Hadoop集群上的应用程序提供资源管理和调度服务。以下是HDFS资源调度的实现方式:

YARN架构和资源调度简介

  • ResourceManager:处理客户端请求,监控NodeManager的启动或监控ApplicationMaster资源的分配与调度,包含调度器(Scheduler)、应用程序管理器(ApplicationsManager)。
  • NodeManager:管理单个节点上的资源,处理来自ResourceManager的命令,处理来自ApplicationMaster的命令。
  • ApplicationMaster:为应用程序申请资源并分配内部任务,任务的监控与容错。
  • Container:YARN资源的抽象封装,某个节点的多维度资源(内存、CPU、磁盘、网络等),Task都是在一个容器里执行完成的,容器大小可以动态调整。

工作机制

  1. 客户端提交MapReduce作业到客户端所在的节点,YARN Runner向ResourceManager申请一个Application。
  2. ResourceManager将该应用程序的资源路径返回给YARN Runner,程序将运行所需资源提交到HDFS上。
  3. 程序资源提交完毕后,申请运行MapReduce AppMaster。
  4. ResourceManager将用户的请求初始化成一个Task,其中一个NodeManager领取到Task任务,该NodeManager创建Container,并产生MapReduce AppMaster。
  5. Container从HDFS上拷贝资源到本地,MapReduce AppMaster向ResourceManager申请运行MapTask资源,ResourceManager将运行MapTask任务分配给另外两个NodeManager,这两个NodeManager分别领取任务并创建Container。
  6. Map向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序。
  7. MapReduce AppMaster等待所有MapTask运行完毕后,向ResourceManager申请容器,运行ReduceTask。
  8. ReduceTask向MapTask获取相应分区的数据,程序运行完毕后,MapReduce AppMaster会向ResourceManager申请注销自己。

调度器和调度算法

目前,Hadoop作业调度器主要有三种:FIFO(先进先出)、Capacity Scheduler和Fair Scheduler。

Elser AI Comics
Elser AI Comics

一个免费且强大的AI漫画生成工具,助力你三步创作自己的一出好戏

下载
  • FIFO:按照作业提交的顺序执行任务,简单但可能导致资源浪费。
  • Capacity Scheduler:为不同的队列分配固定比例的资源,保证资源的合理利用和作业的公平执行。
  • Fair Scheduler:根据队列的资源需求和作业的历史资源使用情况进行资源分配,更加公平。

通过上述机制,HDFS能够有效地管理和调度集群资源,确保数据的高可用性、可靠性和高效性。

相关专题

更多
resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

149

2023.12.20

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

75

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

36

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

59

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

39

2025.11.27

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

403

2023.08.14

hadoop是什么
hadoop是什么

hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。本专题为大家免费提供hadoop相关的文章、下载和课程。

207

2023.06.30

hadoop三大核心组件介绍
hadoop三大核心组件介绍

Hadoop的三大核心组件分别是:Hadoop Distributed File System(HDFS)、MapReduce和Yet Another Resource Negotiator(YARN)。想了解更多hadoop的相关内容,可以阅读本专题下面的文章。

394

2024.03.13

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号