YARN REST API returns startedTime 等字段为0

YARN REST API returns startedTime and other fields as 0

当通过 curl 调用 YARN REST Api 时,要在集群上获取作业,使用:

curl --negotiate -u : http:<rm url>:<port>/ws/v1/cluster/apps?states=finished,failed,killed

在结果 JSON 中,我得到了所有值,但 startedTimefinishedTimeelapsedTime 的值为 0。

N.B:在 YARN UI 上存在这些值,并且在使用 cmd yarn application -status.

时也存在

我查看了 API 文档,但找不到强制返回字段的参数,是不是因为某些参数导致我无法获取这些值?

如果有人有同样的问题,我会回答我的问题。

经过更多研究,我发现在 Kerberized 集群中通过 YARN REST API 访问某些指标是通过 ACL 限制的,只有午餐的用户和管理员用户能够访问这些指标。

要绕过这个,我们应该:

yarn.admin.acl=false

yarn.scheduler.capacity.root.acl_administer_jobs=*
yarn.scheduler.capacity.root.acl_administer_queue=*

来源:https://community.hortonworks.com/questions/91199/yarn-web-interface-reporting-0-for-many-metrics-fo.html