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

Hadoop YARN 命令行工具完全指南

YARN(Yet Another Resource Negotiator)作为 Hadoop 生态系统的核心资源管理器,负责集群资源的分配与调度。通过 YARN Shell,用户可以方便地管理集群、监控应用和配置资源。本文将深入解析 YARN Shell 的常用命令,帮助你高效管理 Hadoop 集群。

一、YARN Shell 基础

1. 命令结构

YARN 命令的基本语法为:

yarn [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS]

或直接调用类:

yarn [OPTIONS] CLASSNAME [CLASSNAME OPTIONS]
2. 获取帮助信息

所有命令均可通过 -help 参数查看详细用法:

# 查看全局帮助
yarn -help# 查看特定子命令帮助
yarn application -help

二、核心命令分类解析

1. 应用程序管理(application)
# 列出所有应用程序(支持多种过滤条件)
yarn application -list \-appTypes "SPARK,MR" \-queue "default" \-state RUNNING \-user hadoop# 查看应用详情
yarn application -status application_1620000000000_0001# 终止应用程序
yarn application -kill application_1620000000000_0001
2. 队列管理(queue)
# 列出所有队列(显示作业详情)
yarn queue -list -showJobs# 查看队列状态
yarn queue -status root.default
3. 节点管理(node)
# 列出所有节点(默认只显示活跃节点)
yarn node -list# 列出所有节点(包括非活跃节点)
yarn node -list -all# 查看特定节点详情
yarn node -status node1.example.com:8042
4. 日志管理(logs)
# 获取应用所有容器日志
yarn logs -applicationId application_1620000000000_0001# 获取特定容器日志
yarn logs -applicationId application_1620000000000_0001 \-containerId container_1620000000000_0001_01_000002
5. 资源监控(top)
# 实时监控集群资源使用(每5秒刷新)
yarn top -interval 5

三、高级命令与技巧

1. 动态调整日志级别
# 获取NodeManager日志级别
yarn daemonlog -getlevel node1.example.com:8042 root# 设置ResourceManager日志级别为DEBUG
yarn daemonlog -setlevel rm1.example.com:8088 DEBUG
2. 应用尝试与容器管理
# 列出应用的所有尝试
yarn applicationattempt -list application_1620000000000_0001# 列出应用尝试的所有容器
yarn container -list appattempt_1620000000000_0001_000001
3. 调度器配置更新
# 动态加载调度器配置(无需重启RM)
yarn schedulerconf -reload
4. 集群概览
# 查看集群资源使用情况
yarn cluster -info# 查看集群节点报告
yarn node -list -all

四、命令对比与最佳实践

1. 常用命令速查表
功能YARN 命令等效 Linux 命令
列出应用yarn application -listps -ef
终止应用yarn application -killkill -9
查看日志yarn logstail -f
查看节点状态yarn node -statusssh + top
资源监控yarn toptop
2. 性能优化建议
  • 批量操作:使用 -appTypes-states 参数过滤应用列表
  • 实时监控:结合 yarn topwatch 命令实现自动刷新
    watch -n 5 'yarn top -interval 1'
    
  • 日志聚合:配置 yarn.log-aggregation-enable=true 集中管理日志

五、常见问题与解决方案

1. 应用无法正常终止
# 尝试强制终止
yarn application -kill -force application_1620000000000_0001# 检查AM是否响应
yarn application -status application_1620000000000_0001
2. 日志无法获取
# 检查日志聚合配置
grep log-aggregation-enable $HADOOP_CONF_DIR/yarn-site.xml# 手动从节点获取日志
ssh node1.example.com "cat /var/log/hadoop-yarn/containers/*"
3. 队列资源不足
# 查看队列配置
yarn queue -status root# 动态调整队列容量
yarn rmadmin -refreshQueues

六、实战案例

1. 查找占用资源最多的应用
yarn top -maxTasks 5 | grep APPLICATION
2. 统计各用户运行的应用数量
yarn application -list | awk '{print $2}' | sort | uniq -c
3. 监控特定用户的应用
yarn application -list -user alice -states RUNNING

七、总结

YARN Shell 提供了全面的集群管理能力,通过本文介绍的命令,你可以:

  • 监控集群资源使用情况
  • 管理和调度应用程序
  • 诊断和解决常见问题
  • 动态调整集群配置

建议结合 YARN Web UI(默认地址:http://rm-host:8088)使用,以获得更直观的集群视图。在生产环境中,可将常用命令封装为脚本,提高操作效率。

http://www.dtcms.com/a/268144.html

相关文章:

  • ProCCD复古相机:捕捉复古瞬间
  • uniapp的光标跟随和打字机效果
  • LangChain有中文网可以访问,还有教程可以学
  • 手机FunASR识别SIM卡通话占用内存和运行性能分析
  • Jailer:一款免费的数据库子集化和数据浏览工具
  • ragflow本地部署教程linux Ubuntu系统
  • Android studio在点击运行按钮时执行过程中输出的compileDebugKotlin 这个任务是由gradle执行的吗
  • 《前端路由重构:解锁多语言交互的底层逻辑》
  • 【Linux笔记】Linux的常见命令(部署Java程序)
  • 基于大数据的高效并行推荐系统
  • VSCode+arm-none-eabi-gcc交叉编译+CMake构建+OpenOCD(基于Raspberry Pico RP2040)
  • C 语言指针与作用域详解
  • 百度文心大模型 4.5 开源深度测评:技术架构、部署实战与生态协同全解析
  • Gitee DevOps:全流程自动化的效率革命
  • DeepSORT算法流程详解
  • 基于Flask+Jinja2的快捷教务系统(后端链接到新版正方教务系统)
  • k8s-服务发布基础
  • 数据结构实验习题
  • 定时器和守护线程
  • 【Guava】1.0.设计虚拟机的方向
  • tensorflow武林志第二卷第九章:玄功九转
  • 广东省省考备考(第四十天7.6)——资料分析(第八节课)
  • Python Bcrypt详解:从原理到实战的安全密码存储方案
  • 【C++】C++四种类型转换操作符详解
  • 【Note】《Kafka: The Definitive Guide》第一章:Meet Kafka
  • LeetCode--41.缺失的第一个正数
  • get: ()=>state 和get: ()=>{state}
  • Java 集合
  • ClickHouse 全生命周期性能优化
  • Java 大视界 -- Java 大数据机器学习模型在金融衍生品创新设计与风险评估中的应用(335)