Hadoop之核心调度Yarn Part One

程序化技能网络:解决AI持续学习中的灾难性遗忘与技能迁移问题 持续学习是机器学习领域的重要研究方向,旨在让AI系统能够像人类一样不断学习新任务而不遗忘旧知识。其核心挑战在于灾难性遗忘和技能迁移效率问题。程序化技能网络通过模块化设计和动态路由机制,将技能分解为可组合的原子单元,实现知识的有效保留和复用。这种架构借鉴了微服务思想,每个技能模块包含标准化的接口规范和内部逻辑。在工业机器人控制等场景中,该技术显著提升了新技能学习速度和旧任务保持率。结合技能蒸馏和实时热更新等优化手段,系统可以在生产环境中实现高性能的持续学习能力。 阅读详情

今天讲一讲Hadoop的核心调度器Yarn,基于Yarn可以做各种资源的调度,比如:GPU、CPU、Memory、任务的进程分配(容器)等等。

首先讲讲:YRAN核心架构 

ResourceManager(RM):全局的资源管理器,负责整个系统的资源管理和分配 

NodeManager(NM):每个节点上的资源和任务管理器,定时向RM汇报本节点上的资源使用情况和各个Container的运行状态,接收并处理来自AM的Container启动/停止等各种请求

ApplicationMaster(AM):用户提交的每个应用程序均包含一个AM,主要功能与RM调度器协商以获取资源,进一步分配给内部的任务,与NM通信启动/停止任务,监控任务的运行状态 Container:是YARN中资源的抽象,封装了某个节点上的多维度资源,如Memory、CPU、GPU等。当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。

如下图:

YARN 作业执行流程: 

1、用户向YARN提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。 

2、ResourceManager 为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在整个Container中启动应用程序的ApplicationMaster。 

3、ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。 

4、ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。 

5、一旦 ApplicationMaster申请到资源后,则与对应的NodeManager通信,要求其启动任务。 

6、NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将 任务启动命令写到一个脚本中,并通过运行该脚本启动任务。 

7、各个任务通过某个 RPC 协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务,AM监视运行状态。 

8、应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

资源请求与分配过程:

整体流程:

下面我们来看资源分配的模型:

资源分配流程:

1. 选择队列

       从根队列开始,使用深度优先遍历算法,从根队列开始,依次遍历子队列找出资源使用率最小的子队列。若子队列为叶子队列,则选择该队列,从而进行step2、step3;若子队列为非叶子队列,则以该子队列为根队列重复前面的过程直到找到一个资源使用率最小的叶子队列为止。

2. 选择应用程序

       在Step1中选好了叶子队列后,取该队列中最早提交的应用程序(实际排序时用的 Application ID,提交时间越早的应用程序,Application ID 越小)。

3. 选择 Container

     在 Step2中选好应用程序之后,对于同一个应用程序,它请求的Container可能是多样化的,涉及不同的优先级、节点、资源量和数量。当选中一个应用程序后,Capacity Scheduler将尝试优先满足优先级高的Container。对于同一类优先级,优先选择满足本地性的Container,它会依次选择node local、rack local和no local的Container。

      

      其中资源使用率结合DominantResourceCalculator,采用了 DRF 比较算法,同时考虑Memory和 cpu 两种资源。

 

个人网站:http://www.damon8.cn

 

热文推荐

Springcloud Oauth2 基础篇

Springcloud Oauth2 进阶篇

Springcloud Oauth2 HA篇

浅谈微服务-兼容性
Spring Cloud Kubernetes之实战一配置管理

Spring Cloud Kubernetes之实战二服务注册与发现

Spring Cloud Kubernetes之实战三网关Gateway

微服务自动化部署CI/CD

Ubuntu下K8S部署指南,单机、集群,带你入坑

What is Edge Computing

如有收获,点个在看,谢谢

Hadoop伪分布式环境从零搭建与实战排错指南 Hadoop是一个基于Java的分布式计算框架,其核心由HDFS(分布式文件系统)和YARN(资源调度器)构成,支撑MapReduce等计算模型运行。理解组件间协同原理——如NameNode与DataNode的元数据管理、ResourceManager与NodeManager的资源分配契约——是稳定部署的前提。技术价值在于提供高容错、可扩展的大数据存储与计算能力,广泛应用于日志分析、ETL、实时数仓等场景。而伪分布式模式作为本地验证集群行为的关键路径,既能规避单机模式对网络和权限机制的屏蔽,又无需多节点硬件 阅读详情

相关推荐

大数据开发学习路线:从Hadoop入门到MapReduce实战

大数据开发入门绕不开分布式存储与计算这一核心命题。当数据量超出单机处理能力时,Hadoop作为经典的开源框架,提供了一套完整的解决方案:HDFS负责分布式文件存储,MapReduce实现分而治之的批量计算,YARN统一调度集群资源。理解这些底层原理,是后续学习Hive数仓、Spark实时计算的重要基础。本文从环境搭建出发,逐步讲解伪分布式集群配置、HDFS文件操作、MapReduce词频统计实战,并梳理新手最常见的排错思路,帮助读者建立从理论到实践的行动路径。无论你是准备毕业设计,还是计划转行大数据开发,掌

weixin_34208283的博客 1172

cm6.2配置动态资源

cloudera-manager6.2 centos 6.8 配置之前我配置好了sentry和kerberos 1、检查hdfs权限和yarn开启acl 2、配置动态资源 2.1、根据提示可以开启提交访问控制,池子可以嵌套,继承,多个用户用户组用逗号隔开 可以限制哪些用户和用户组提交到该池。 3、创建用户提交任务 集群每台机器都创建test...

qq_35315256的博客 426

基于Spark与余弦相似度的大数据用户匹配系统实战

推荐系统是现代互联网应用的核心技术之一,其核心原理是通过分析用户与物品的特征,预测用户的偏好并进行个性化推荐。在技术实现上,推荐系统通常依赖于用户画像构建和相似度计算。用户画像将用户的多维度信息(如兴趣、行为、属性)量化为特征向量,而余弦相似度则是衡量高维向量间相似性的经典算法,尤其适用于稀疏特征场景。从技术价值看,这类系统能显著提升信息分发效率和用户体验,广泛应用于电商、社交、内容平台等领域。本文以构建一个基于大数据技术的用户匹配引擎(BFB系统)为例,深入剖析了如何利用Spark分布式计算框架和MLli

weixin_34221276的博客 413

Hadoop 原理学习(1)Hadoop 各服务的作用简述

注:以下服务为基于安装Hadoop 2.6.0-cdh5.8.3后的所得服务,但并不是全部。 1. HDFS NameNode NameNode是一个中心服务器,负责管理文件系统的namespace以及客户端对文件的访问。 NameNode执行文件系统的namespace操作,比如打开、关闭、重命名文件或目录。同时它还确定block到DataNode节点的映射。 Namenode...

程序员进阶之路 4187

【信息科学与工程学】计算机科学与自动化 第二百三十三篇 凤凰架构01

编号类型领域系统软件/硬件或系统集成方案及系统架构模块子模块函数名称/算法名称算法的数学分析及计算机体系架构及数据结构与算法详细设计及参数列表及数值范围设计关联知识1共识算法分布式基石状态机复制架构:Proposer/Acceptor/Learner 多节点角色模型,基于操作转移(Operation Transfer)分布式共识PaxosPaxos 协议(Prepare/Promise/Accept/Accepted 两阶段)数学基础:多数派(Quorum)投票,基于鸽巢原理保证 W+R>N 时读写集合必有

weixin_49199313的博客 264

【信息科学与工程学】【数据科学】第一百五十五篇 数据集成与开发01

至此,我们已经完成了从接入层存储层处理层建模层编排层治理层可观测层到服务层的全部八个领域的详细设计表格。BPMN/UML 时序图、状态机、协作图(PlantUML 代码)深度数学建模(排队论、统计过程控制、机器学习异常检测等)逐步推理的数学表达式及数据结构参数关联矩阵(含默认值、单位、传递/互斥/联动/依赖关系)完整的编译器配置(Maven/pip/conda、JVM参数、环境变量)详细的代码示例(Java/Python/YAML/JSON/SQL)

weixin_49199313的博客 23

gateway使用方式与注意

filter中注入对象: https://blog.youkuaiyun.com/qq_28340701/article/details/115613836 gateway与nacos: https://www.cnblogs.com/Lyn4ever/p/12702347.html

19li 319

从315MHz到125kHz:手把手教你用Arduino模拟汽车钥匙的RKE/PKE信号(附代码)

本文详细介绍了如何使用Arduino开发板和射频模块模拟汽车钥匙的RKE/PKE信号,包括硬件准备、代码实现和安全机制。通过实践教程,读者可以深入理解315MHz和125kHz信号在汽车电子领域的应用,掌握无钥匙进入系统的核心技术。

weixin_30945039的博客 223

spark教程1 (cdh5.12 安装自带spark)

1.添加spark服务,分配好history 和gateway 角色 添加好并启动好spark后如下 2.配置yarn服务,给节点添加yarn的gateway角色,然后重启yarn 3.修改一下yarn的yarn.scheduler.maximum-allocation-mb参数和yarn.nodemanager.resource.memory-mb参数,默认是1g比较小,可以先设...

lief2liu 2807

Python实现安居客新房数据抓取简易版

本文介绍使用Python爬取安居客新房楼盘数据的方法,重点针对三四线城市。通过分析移动端H5页面结构,采用滚动加载方式获取推荐楼盘列表(class="recomm-list"),从中提取楼盘ID并拼接详情页链接。代码展示了如何解析HTML标签获取楼盘名称、状态、价格、户型等基本信息,并处理图片URL。爬取过程涉及一个一级页面和两个二级页面,同时提到可能遇到的验证码问题将在后续处理。核心代码使用BeautifulSoup解析HTML,requests发送请求,并将数据存入MySQL数据库。

qq_37604998的博客 475

基于Python实现的捕鱼达人小游戏源代码+使用说明

摘要: 本文介绍了一款自制的捕鱼达人小游戏,使用Python3和Pygame模块开发。游戏包含完整的资源文件(图片、音效、字体)和源码结构(11个功能模块),实现了大炮移动射击、特殊子弹、炸弹、难度递增等核心玩法。安装需配置Python环境和Pygame模块,运行main.py即可启动游戏。游戏支持键盘控制(方向键移动、空格射击、1键放炸弹),默认时长600秒,包含开始菜单、游戏界面和结束界面。所有代码均有详细注释,项目已开源并提供下载链接。(150字)

2301_76484015的博客 666

大数据技术实战:从Hadoop+Spark部署到端到端数据处理管道搭建

大数据技术体系是应对海量、多源、高速数据挑战的核心解决方案,其核心原理在于通过分布式计算框架对数据进行并行处理。从经典的MapReduce分而治之模型,到基于内存计算的Spark DAG执行引擎,技术演进大幅提升了数据处理效率。在工程实践中,构建完整的数据处理链路具有重要价值,能够支撑实时分析、用户画像等应用场景。本文以Hadoop和Spark为核心,通过部署伪分布式集群和编写数据分析程序,演示如何搭建从数据采集、存储、计算到可视化的实战管道,并融入数据治理与生产环境最佳实践,为构建企业级数据平台提供可落地

weixin_34062469的博客 467

从d、q轴电流到电机性能:FOC控制中角度偏移的实战影响与调试策略

本文深入探讨了永磁同步电机FOC控制中d、q轴电流与角度偏移对电机性能的影响及调试策略。通过分析角度偏移导致的效率下降、电流异常等问题,提供了实用的四步调试法和参数优化技巧,帮助工程师有效提升电机控制精度和效率。

weixin_29264201的博客 294

MapReduce编程实践:从理论到实战的Hadoop实验指南

MapReduce作为分布式计算的核心编程模型,其原理在于将大规模数据处理任务分解为Map(映射)和Reduce(归约)两个阶段,通过Shuffle过程实现数据重分布。这种分而治之的思想为海量数据并行处理提供了基础框架,其技术价值在于能够将复杂的计算任务透明地分布到成百上千台普通服务器上执行,极大地提升了数据处理的吞吐量和可扩展性。在工程实践中,MapReduce被广泛应用于日志分析、数据清洗、搜索引擎索引构建等离线批处理场景。本文聚焦于Hadoop MapReduce的初级编程实践,通过环境搭建、核心组件

weixin_30493401的博客 432

学Simulink--基于电力电子变换器的建模与仿真实例:LLC谐振变换器在高频AC-DC转换中的建模

本文详细介绍了使用Simulink+Simscape Electrical对LLC谐振变换器进行建模与仿真的完整流程。LLC谐振变换器因其高效率、低噪声的特点,广泛应用于高频AC-DC转换场景。文章从背景原理出发,逐步讲解系统结构设计、建模步骤(包括AC源、整流器、LLC变换器、负载等模块搭建)、控制策略实现(固定频率/变频/PID控制)和仿真设置。通过分析仿真结果的关键指标,提出参数整定和算法优化建议。该建模方法为电力电子设计人员提供了实用的仿真工具,有助于优化LLC变换器性能,缩短开发周期。

xiaoheshang_123的博客 298

电源完整性分析:PDN阻抗与去耦电容设计——目标阻抗计算与电容选型深度实战

摘要:随着嵌入式处理器主频突破 GHz、多核架构普及,电源完整性(Power Integrity, PI)已成为高速 PCB 设计中不可忽视的关键环节。本文从 PDN(电源分配网络)阻抗模型出发,系统讲解目标阻抗计算方法、去耦电容选型策略、反谐振抑制技术,并结合 STM32F4 核心板的完整设计实例,提供一套可落地的电源完整性工程实践方案。电源完整性设计是一项系统工程,需要从目标阻抗计算电容选型反谐振抑制PCB 布局目标阻抗是设计的起点,由电源电压、纹波要求和瞬态电流决定去耦电容。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

Docker Hadopp集群版部署搭建及常规问题解疑

本文详细介绍了Hadoop集群开发环境的搭建与交通数据处理流程。主要内容包括:1)通过Docker快速部署Hadoop集群,配置Windows开发环境(Eclipse+winutils);2)HDFS文件操作实践;3)Eclipse连接Hadoop集群并导入依赖包;4)编写MapReduce程序实现交通流量统计,包含Mapper、Combiner和Reducer组件;5)Jar包导出与容器内运行。文章特别对比了Docker环境与生产环境的差异,指出Docker网络隔离特性导致Windows开发机无法直接访问

m0_56659620的博客 262

语义分割(Semantic Segmentation)近年发展综述

目标:为图像中每个像素分配一个语义类别标签(如“道路”、“行人”、“天空”),不区分同类实例。关键挑战精确边界恢复(高空间分辨率)全局上下文理解(大感受野)计算效率与精度平衡小样本/弱监督泛化语义分割的十年演进,是一条从专用→通用、封闭→开放、慢速→实时、像素→语义2015:FCN/U-Net 奠基;2018:DeepLabv3+/PSPNet 实现高精度;2020:HRNet+OCR 登顶竞赛;2021:SegFormer 开启 Transformer 新纪元;2023+

浩瀚之水的专栏 977

分布式计算实战入门:从单机瓶颈到PySpark分布式系统搭建

分布式计算是一种将大规模计算任务拆分到多台机器并协同处理的基础技术范式,其核心原理在于通过任务分发与结果归并(如MapReduce)突破单机CPU、内存和IO的物理瓶颈。它并非高深架构,而是解决真实性能问题的工程手段,具备天然容错机制与水平扩展能力,广泛应用于大数据分析、实时流处理和AI训练等场景。本文以PySpark为实践载体,带你从本地伪分布式环境起步,理解数据一致性设计、应对数据倾斜,并平滑过渡到生产集群,真正掌握分布式计算的落地逻辑与调试直觉。

weixin_34166847的博客 446

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 273

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

基于Spark的垂直社交应用用户画像构建与匹配推荐实战

用户画像是通过整合用户多维度数据构建的标签化模型,其核心原理在于从海量数据中提取特征以抽象用户全貌。这项技术对于实现精准推荐、提升用户体验具有关键价值,广泛应用于社交、电商、内容平台等场景。在垂直社交领域,构建精准的用户画像尤为关键,它依赖于大数据处理技术。Apache Spark作为主流的大数据处理框架,能够高效完成数据清洗、特征工程等关键步骤。本文以“体育生”和“深圳”等具体场景为例,详细演示了如何利用PySpark从模拟数据采集开始,逐步实现用户画像的构建,并最终通过基于规则和协同过滤的算法完成用户匹

weixin_33850890的博客 281

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

记一次springboot调用sparkLauncher连接不上yarn ResourceManager的问题

web任务启动后,代码开始调用sparkLauncher启动事先编译好的jar,但是会发现作业一直不启动,一直在retry ResourceManager 13/12/14 20:12:06 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 13/12/14 20:12:07 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Alread.

weixin_39768191的博客 2983

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CDH Gateway docker实战

将CDH gateway 安装到docker里面。

我想静静 4208

HDFS NFS Gateway

HDFS NFS Gateway Overview NFS Gateway支持NFSv3,允许HDFS作为客户端本地文件系统的一部分挂载在本地文件系统。目前,NFS Gateway支持和启用了下面的使用模式: 1.用户可以在基于NFSv3客户端兼容的操作系统上的本地文件系统上浏览HDFS文件系统。 2.用户可以从挂载到本地文件系统的HDFS文件系统上下载文件。 3

来啊 快活啊 1万+

第二代map-reduce架构YARN解析

需求 我们在考虑hadoop map-reduce框架的时候,最重要需求包括: 1. reliability 可靠性,主要是resource manager可靠性 2. availability 可用性  3. scalability 可扩展性,能支撑10000到20000节点的cluster 4. backward compatibility 向后兼容性,支持之前写mapreduce a

yukangkk的技术博客 5043
上一篇: Hadoop之核心调度Yarn Part Two
下一篇: Go语言入门基础之命令源码文件
交个朋友之猿田地
博客等级 码龄15年 15粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值