获取 YARN 容器实际内存使用指标的命令

Commands to get the metrics of YARN container's actual memory usage

我发现根据此 jira 票证,yarn 支持容器实际内存使用情况统计信息 (https://issues.apache.org/jira/browse/YARN-2984)。我想知道如果给定一个应用程序 ID,我们是否可以使用任何 yarn 命令获取分配给该作业的容器的内存使用列表?

我正在使用 Hadoop 2.7.0。

CLI:

YARN CLI 不公开与容器相关的内存指标。

您可以使用 yarn container -status <Container ID> 命令查询容器的状态。

例如当我执行此命令时,我得到以下输出:

CMD PROMPT>yarn container -status container_e55_1451819646302_0001_01_000007

Container Report :
        Container-Id : container_e55_1451819646302_0001_01_000007
        Start-Time : 1451909358911
        Finish-Time : 0
        State : RUNNING
        LOG-URL : http://mballur.myorg.com:50060/node/containerlogs/container_e55_1451819646302_0001_01_000007/mballur
        Host : mballur.myorg.com:45454
        NodeHttpAddress : http://mballur.myorg.com:50060
        Diagnostics : null

容器报告包含(不包含任何内存相关信息):

  • Container-Id:容器ID
  • Start-Time: 容器的开始时间
  • Finish-Time: conataine 的结束时间。零,如果容器仍然是 运行
  • State:容器的状态
  • LOG-URL: 容器
  • 的日志URL
  • Host:节点ID,容器所在运行
  • NodeHttpAddress:容器的HTTP地址
  • 诊断:任何诊断信息。

UI:

但是,在 UI 中,当您打开特定容器的页面时,您将看到以下详细信息:

UI 包含容器的 Resource: 信息。在那里你可以看到内存和 CPU 使用情况(1228 内存,1 VCores)