You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Yarn UI及命令无应用信息显示,同类问题方案无效求助

排查YARN UI及命令行看不到Hadoop Streaming应用的问题

先别急,咱们一步步来排查这个问题——既然你已经确认集群节点都处于存活状态,那重点就放在作业提交链路、YARN配置和运行状态上:

1. 先确认作业是否真的提交到YARN了

很多时候看似提交了作业,但其实没成功落地到YARN,你可以这么验证:

  • 重新运行Streaming作业时加上-verbose参数,仔细盯紧输出日志,有没有出现类似 Submitted application application_xxxxxxxxx_0001 的提示?如果没有,说明作业根本没提交到YARN,自然不会在UI或命令行里显示。
  • 检查提交命令的语法是否正确:比如有没有指定合法的-input/-output(注意output目录必须是不存在的),-mapper/-reducer的脚本路径是否正确、是否有执行权限。

2. 检查YARN核心配置(yarn-site.xml)

主节点的yarn-site.xml配置错误是这类问题的高发原因,重点核对这几个参数:

  • yarn.resourcemanager.addressyarn.resourcemanager.scheduler.addressyarn.resourcemanager.resource-tracker.address:这些参数必须指向你的主节点IP或主机名,不能是localhost——否则从节点无法连接主节点的ResourceManager,作业没法被调度。
  • yarn.nodemanager.aux-services:必须设置为mapreduce_shuffle,同时要确保yarn.nodemanager.aux-services.mapreduce_shuffle.class配置为org.apache.hadoop.mapred.ShuffleHandler,这是MapReduce作业运行的必要前提。

3. 查看YARN日志找错误线索

直接看日志能快速定位隐藏问题:

  • 主节点ResourceManager日志:默认路径是$HADOOP_HOME/logs/yarn-*-resourcemanager-*.log,搜索ERRORWARN关键词,比如有没有连接失败、资源不足(内存/CPU不够)的提示。
  • 从节点NodeManager日志:路径是$HADOOP_HOME/logs/yarn-*-nodemanager-*.log,检查有没有无法注册到ResourceManager、容器启动失败的报错信息。

4. 确认MapReduce框架配置(mapred-site.xml)

如果MapReduce没配置成YARN模式,作业会在本地运行,YARN自然看不到:

  • 确保mapreduce.framework.name设置为yarn,而不是local
  • 检查mapreduce.application.classpath是否包含了正确的Hadoop依赖路径,避免作业因找不到核心类而启动失败。

5. 排查用户权限问题

普通用户提交作业时,可能会因为权限不足被YARN拒绝:

  • 试试切换到Hadoop专用用户(比如hadoop用户)重新提交作业:sudo -u hadoop 你的Streaming完整命令
  • 确认HDFS上的输入/输出目录权限是否允许当前用户读写,比如用hdfs dfs -ls /你的输入目录查看,若权限不足,先执行hdfs dfs -chmod 755 /目标目录路径调整。

6. 验证集群网络连通性

主从节点之间的YARN端口必须能正常通信:

  • 在从节点用nc命令测试主节点的关键端口,比如:nc -zv 主节点IP 8032(ResourceManager资源跟踪端口)、nc -zv 主节点IP 8088(YARN UI端口),如果连接失败,检查防火墙是否开放了这些端口,或者主机名解析是否正确。

7. 重启YARN服务试试

有时候服务启动时的异常会导致无法接收作业,不妨重置一下:

  • 先停止YARN:stop-yarn.sh,等几秒后再启动:start-yarn.sh,然后重新提交作业,再去YARN UI和执行yarn application -list -appStates ALL查看结果。

内容的提问来源于stack exchange,提问作者cdt

火山引擎 最新活动