我们尝试报告每个用户的每月 hadoop 应用程序指标,并使用以下 REST API 路径使用 REST API:
http://[host:port]/ws/v1/cluster/app
除了始终为 -1 的 allocatedMB、allocatedVcores 和 runningContainers 之外,返回的数据看起来不错。
谁能解释一下这是为什么?
最佳答案
如果调用 RM 集群应用程序 API 时您的集群上没有正在运行的作业,您正在查看历史数据。基于Hadoop代码(hadoop-yarn-project/下的QueueStatisticsPBImpl.java),当RM不知道该项目的值时,-1被用作默认值。
@Override
public long getAllocatedVCores() {
QueueStatisticsProtoOrBuilder p = viaProto ? proto : builder;
return (p.hasAllocatedVCores()) ? p.getAllocatedVCores() : -1;
}
由于其他字段是将存储在作业历史记录服务器中的值(allocatedMB
、allocatedVCores
和runningContainers
),它们包含实际值。
关于java - 通过 REST API : allocatedMB, allocatedVcores 和 runningContainers 的 Hadoop 指标始终为 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44672566/