1.问题描述
使用yarn调度任务时,在CapacityScheduler页面上单击叶队列(或子队列)时,不会显示应用程序任务信息,root队列可以显示任务。此外,FairScheduler页面是正常的。
No matching records found
2.原因分析
CapacitySchedulerPage中使用的$(‘#apps’).dataTable().fnFilter基于索引值为4的列进行筛选(索引从0开始)。然而,实际上,“队列”列位于索引5处,这导致了单击纱线子队列不会显示其正在运行的作业的问题。
3.问题解决
//1.下载3.3.4源码
//2.修改源码 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java" $('#apps').dataTable().fnFilter(q, 4, true);",//变更为下面的" $('#apps').dataTable().fnFilter(q, 5, true);",
//3.打包hadoop-yarn-server-resourcemanager模块产生hadoop-yarn-server-resourcemanager-3.3.4.jar
//4.替换掉your_hadoop_home/hadoop-3.3.4/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-3.3.4.jar
//5.重启yarn服务:
stop-yarn.sh
start-yarn.sh
也可以去社区直接找到大神修改好的:https://github.com/apache/hadoop/tree/013389afa241370935e98a31066c393b2f5b1159