为何成功运行的MapReduce作业未在Resource Manager Web界面显示?
排查Hadoop作业在Resource Manager Web界面不显示的问题
以下是针对该问题的具体排查和解决步骤:
1. 确认作业提交的RM地址配置
- 检查
mapred-site.xml中的mapreduce.job.resourcemanager.address参数,确保其值为Resource Manager的实际主机名/IP(而非0.0.0.0),与Web界面访问的RM地址一致。 - 若作业启动命令中手动指定了
-Dmapreduce.job.resourcemanager.address参数,需验证该地址是否正确指向集群的RM服务。
2. 验证作业历史数据的存储与服务
- 检查RM状态存储配置:查看
yarn-site.xml的yarn.resourcemanager.store.class,若使用默认的org.apache.hadoop.yarn.server.resourcemanager.recovery.MemoryRMStateStore,RM重启后所有作业记录会丢失。若需持久化记录,可配置为org.apache.hadoop.yarn.server.resourcemanager.recovery.LeveldbRMStateStore,并设置yarn.resourcemanager.state-store.address指定存储路径。 - 确保JobHistoryServer已启动:运行
jps命令查看进程列表,确认存在JobHistoryServer;若未启动,执行mr-jobhistory-daemon.sh start historyserver启动服务。 - 校验作业历史服务配置:在
mapred-site.xml中检查mapreduce.jobhistory.address和mapreduce.jobhistory.webapp.address,确保RM能正常连接到该服务获取历史作业数据。
3. 确认作业运行模式
- 检查
mapred-site.xml的mapreduce.framework.name参数,必须设置为yarn(而非local),否则作业会以本地模式运行,不会提交到YARN集群,自然不会出现在RM界面。 - 查看作业运行日志,若存在
Running in local mode相关日志,说明作业未提交到集群,需调整配置后重新运行。
4. 检查RM界面与日志细节
- 在RM Web界面的
Cluster -> Applications页面,切换到All Applications标签(默认可能仅展示运行中的作业),查看已完成的作业记录。 - 针对性查看Resource Manager的
resourcemanager.log,搜索作业ID(如application_xxxxxx),确认RM是否实际接收并处理了作业提交请求。
内容的提问来源于stack exchange,提问作者Bruno Marques Veiga
相关产品推荐
相关产品推荐

