当前位置: 首页 > news >正文

YARN资源管理器

yarn-site.xml是YARN(Yet Another Resource Negotiator,另一种资源协调者)框架的核心配置文件,它定义了整个YARN集群的运行参数和行为。类似于操作系统的“注册表”或“系统设置”.

主要作用:

  • 配置ResourceManager和NodeManager:ResourceManger的地址和端口、NodeManger的行为方式
  • 定义资源管理策略:内存、CPU的分配方式;资源计算器类型
  • 指定调度器类型:告诉YARN用哪种调度器来分配资源

如果不指定调度器,YARN会使用默认的调度器(通常是容量调度器的简化版)

YARN启动时需要决定调度器类:

// YARN 启动时读取这个参数 String schedulerClass = conf.get("yarn.resourcemanager.scheduler.class"); // 如果没有配置,使用默认值 if (schedulerClass == null) { schedulerClass = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler"; }

不同的调度器有不同的配置方式:

  • 容量调度器:用capacity-schedular.xml
  • 公平调度器:用fair-schedular.xml

为了让你更清晰理解,这里是 Hadoop 各配置文件的作用:

配置文件作用配置内容示例
core-site.xmlHadoop 核心配置(HDFS、I/O等)默认文件系统地址 (fs.defaultFS)
hdfs-site.xmlHDFS 分布式文件系统配置副本数、NameNode 数据目录
yarn-site.xmlYARN 资源管理配置调度器类型、ResourceManager地址
mapred-site.xmlMapReduce 计算框架配置历史服务器地址、Map/Reduce 参数
capacity-scheduler.xml容量调度器专用配置队列结构、容量比例
[root@master ~]# cd /opt [root@master opt]# ls hadoop-3.1.4 jdk-8u281-linux-x64.rpm [root@master opt]# cd hadoop-3.1.4 [root@master hadoop-3.1.4]# ls bin etc include lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share [root@master hadoop-3.1.4]# cd logs [root@master logs]# ls hadoop-root-historyserver-master.log hadoop-root-namenode-master.out hadoop-root-resourcemanager-master.out.1 hadoop-root-secondarynamenode-master.out.2 hadoop-root-historyserver-master.out hadoop-root-namenode-master.out.1 hadoop-root-resourcemanager-master.out.2 hadoop-root-secondarynamenode-master.out.3 hadoop-root-historyserver-master.out.1 hadoop-root-namenode-master.out.2 hadoop-root-resourcemanager-master.out.3 hadoop-root-secondarynamenode-master.out.4 hadoop-root-historyserver-master.out.2 hadoop-root-namenode-master.out.3 hadoop-root-resourcemanager-master.out.4 hadoop-root-secondarynamenode-master.out.5 hadoop-root-historyserver-master.out.3 hadoop-root-namenode-master.out.4 hadoop-root-resourcemanager-master.out.5 SecurityAuth-root.audit hadoop-root-historyserver-master.out.4 hadoop-root-namenode-master.out.5 hadoop-root-secondarynamenode-master.log hadoop-root-historyserver-master.out.5 hadoop-root-resourcemanager-master.log hadoop-root-secondarynamenode-master.out hadoop-root-namenode-master.log hadoop-root-resourcemanager-master.out hadoop-root-secondarynamenode-master.out.1 [root@master logs]# grep "Using Scheduler" hadoop-root-resourcemanager-master.log 2026-04-18 02:27:22,305 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-19 12:50:20,359 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-22 23:56:03,577 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-23 08:12:18,125 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-23 23:26:04,056 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-25 00:49:39,206 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-25 10:34:29,641 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-25 13:28:10,180 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-26 22:46:59,336 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler 2026-04-29 00:19:30,250 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Using Scheduler: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler [root@master logs]# yarn queue -status root # 查看所有队列 2026-04-29 00:59:18,210 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.128.130:8032 Queue Information : Queue Name : root State : RUNNING Capacity : 100.00% Current Capacity : .00% Maximum Capacity : 100.00% Default Node Label expression : <DEFAULT_PARTITION> Accessible Node Labels : * Preemption : disabled Intra-queue Preemption : disabled [root@master logs]#

1. 日志输出(grep命令)含义

  • 容量调度器已启用Using Scheduler: CapacityScheduler

  • 配置文件已加载:找到了capacity-scheduler.xml

  • 资源限制已生效

    • 最小资源:512MB内存 + 1虚拟CPU核

    • 最大资源:4096MB内存 + 4虚拟CPU核

  • 当前只有root队列:日志显示只初始化了rootroot.default队列,没有onlineoffline队列

2.yarn queue -status root输出含义

  • Queue Name: root- 这是根队列(所有队列的顶层)

  • State: RUNNING- 队列处于运行状态,可以接收任务

  • Capacity: 100.00%- root队列占用集群100%资源(正常,因为它是顶层)

  • Current Capacity: .00%- 当前实际使用的资源为0%(没有运行的任务)

  • Maximum Capacity: 100%- 最大可用资源为100%

  • Preemption: disabled- 未启用资源抢占功能(队列不会强制收回已分配的资源)

🎯 核心结论

你的YARN正在运行,容量调度器已生效,但目前只有默认的default队列,还没有配置onlineoffline多队列。

这就是为什么之前看不到多队列的原因 - 配置文件中还没有添加它们。

http://www.jsqmd.com/news/716739/

相关文章:

  • Livox-ros-driver2安装后,如何快速验证你的HAP/Mid-360雷达数据流(ROS1/ROS2通用)
  • 【Docker WASM边缘部署终极指南】:20年架构师亲授3大避坑法则、4层架构图与实时性能调优参数
  • DeepAgents智能体
  • 终极屏幕翻译神器:Translumo让你的Windows电脑瞬间打破语言壁垒
  • 从CAN波特率索引表到寄存器:一份给嵌入式新手的底层配置原理图解
  • LLM在SoC安全资产识别中的自动化应用
  • 我的世界开服神器!土豆互联公益免费 4H8G 面板服太香了
  • Mac新手必看:保姆级Git+SourceTree配置指南,从SSH密钥到拉取代码一气呵成
  • 英文论文降AI率好难啊,改了一晚上AI率还增加了16%,到底怎么降AI率啊?
  • 制造业成本困局:大宗材料价格波动如何破局
  • 【2026收藏版】医疗大模型Agent落地突破!AOS-H系统详解(小白/程序员必学)
  • 告别爆显存!实测Stable Diffusion v1-4模型在低配GPU上的最小化运行参数指南
  • HTTP基础教程:请求方法、状态码、JSON、鉴权、超时、重试与流式返回
  • 如何用MusicFree插件系统打破音乐平台壁垒:完整免费音乐聚合指南
  • Instruct-IPT:多任务图像恢复(去雨/去雾/去模糊)
  • 为什么你的YOLOv8在Jetson Nano上OOM?深度解析Python模型轻量化失效的7个隐蔽根源(含内存映射热力图)
  • STM32 I2S 输入输出切换功能 - 修改总结
  • 魔兽争霸III如何在现代电脑上重获新生:WarcraftHelper终极优化指南
  • 为什么92%的AI PoC项目在Docker沙箱中泄露训练数据?:深度解析cgroups v2 + seccomp + no-new-privileges三重失效链及修复checklist
  • C++浮点数“体检”指南:除了std::isfinite,还有哪些标准库函数能帮你诊断NaN和Inf?
  • 别让偏见毁了你的AI产品:从亚马逊招聘工具翻车,到用IBM AIF360和Google What-If Tool给你的模型做个‘公平性体检’
  • 无风扇 AI 服务器成主流:英伟达 NVL72 系统引领静音算力革命
  • 【Linux从入门到精通】第27篇:文本处理三剑客(上)——grep 正则表达式实战
  • 戴尔笔记本风扇管理终极指南:DellFanManagement 完整解决方案详解
  • 告别CGO内存泄漏:手把手教你安全封装LuaJIT给Go调用(Windows/Linux双平台)
  • 分布式量子计算中的光子寿命优化与BDIR算法
  • 【flutter for open harmony】第三方库Flutter 鸿蒙版 贷款计算器 实战指南(适配 1.0.0)✨
  • NVIDIA Profile Inspector终极指南:解锁显卡隐藏性能的5个实用技巧
  • 百度网盘CLI终极指南:从零构建高效命令行文件管理方案
  • 用Logisim从零搭建一个8位CPU的运算器:华科硬件课设实战复盘