hadoop yarn:显示申请的待处理资源请求

时间:2015-11-14 04:05:35

标签: hadoop yarn

如何获取应用程序发送给资源管理器的待处理请求数?据我所知,资源管理器可能不会立即分配所请求的资源,因此会请求请求,对吧?

2 个答案:

答案 0 :(得分:4)

我使用的是Hadoop 2.7.1。在Resource Manager UI中,您可以看到" Outstanding Resource Requests"。

在RM UI中:

  1. 点击正在运行的应用程序(例如application_1447644421851_0004)
  2. 在应用程序页面中,单击尝试ID(例如appattempt_1447644421851_0004_000001)
  3. 在“应用程序尝试ID”页面中,您将看到" 已分配的总容器"的详细信息。和" 总的未完成资源请求"。
  4. 例如,我运行了一个DistCp作业,需要24个映射器。因此,分配的总容器为24 + 1(Application Master的1个容器)= 25。

    根据我的设置,每个容器需要1,228 MB的内存和1个vCore。

    我已用下面的图片解释了这项工作的进展情况:

    第1阶段:

    首先,7个映射器开始运行,共分配了8个容器(7个用于映射器,1个用于Application Master)。

    所以,

    Total Allocated Containers: 8
    Total Outstanding Requests: <memory: 20876, vCores:17>

    您可以观察到,有17个容器(25减8)的未完成请求。所以对于内存的总未完成请求是= 17 * 1228 MB = 20876 MB,对于vCore,它是= 17 * 1 = 17

    查看下图: enter image description here

    第2阶段:

    完成了7个映射器,接下来安排了7个映射器。

    现在:

    Total Allocated Containers: 15
    Total Outstanding Requests: <memory: 12280, vCores:10>

    您可以观察到,未完成的请求现在已降至10个容器(25减15)。因此,未完成的内存请求总数= 10 * 1228 MB = 12280 MB,对于vCore,它是= 10 * 1 = 10

    检查下图:

    enter image description here

    第3阶段:

    完成了14个映射器,接下来安排了7个映射器。

    现在:

    Total Allocated Containers: 22
    Total Outstanding Requests: <memory: 3684, vCores:3>

    您可以观察到,未完成的请求已降至3个容器(25减22)。因此,对于内存的总未完成请求是= 3 * 1228 MB = 3684 MB,对于vCore,它是= 3 * 1 = 3

    检查下图:

    enter image description here

    最后阶段:

    最后,当分配了所有容器后,您将看到&#34; 总分配容器&#34;。

    检查下图:

    enter image description here

    希望这澄清了你的疑问。

答案 1 :(得分:1)

您可以从YARN API端点获取容器信息等等

http://<rm http address:port>/ws/v1/cluster/metrics

请访问以下资源以获取更多详细信息

https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Metrics_API