Repository: hadoop Updated Branches: refs/heads/trunk 30f2646b1 -> 81f6e46b2
YARN-6907. Node information page in the old web UI should report resource types. Contributed by Gergely Novák. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/81f6e46b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/81f6e46b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/81f6e46b Branch: refs/heads/trunk Commit: 81f6e46b2fb54659a08864677ad14f80fe4e452d Parents: 30f2646 Author: Sunil G <[email protected]> Authored: Mon Dec 4 11:27:23 2017 +0530 Committer: Sunil G <[email protected]> Committed: Mon Dec 4 11:27:23 2017 +0530 ---------------------------------------------------------------------- .../yarn/server/nodemanager/webapp/NodePage.java | 2 ++ .../yarn/server/nodemanager/webapp/dao/NodeInfo.java | 9 +++++++++ .../server/nodemanager/webapp/TestNMWebServices.java | 14 ++++++++++---- 3 files changed, 21 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/81f6e46b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/NodePage.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/NodePage.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/NodePage.java index 7005f41..ae9b92d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/NodePage.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/NodePage.java @@ -75,6 +75,8 @@ public class NodePage extends NMView { info.isPmemCheckEnabled()) .__("Total VCores allocated for Containers", String.valueOf(info.getTotalVCoresAllocated())) + .__("Resource types", + info.getResourceTypes()) .__("NodeHealthyStatus", info.getHealthStatus()) .__("LastNodeHealthTime", new Date( http://git-wip-us.apache.org/repos/asf/hadoop/blob/81f6e46b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java index 32e39cf..33e2de6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java @@ -22,11 +22,13 @@ import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.util.VersionInfo; import org.apache.hadoop.yarn.server.nodemanager.Context; import org.apache.hadoop.yarn.server.nodemanager.NodeManager; import org.apache.hadoop.yarn.server.nodemanager.ResourceView; import org.apache.hadoop.yarn.util.YarnVersionInfo; +import org.apache.hadoop.yarn.util.resource.ResourceUtils; @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) @@ -41,6 +43,7 @@ public class NodeInfo { protected boolean vmemCheckEnabled; protected boolean pmemCheckEnabled; protected long lastNodeUpdateTime; + protected String resourceTypes; protected boolean nodeHealthy; protected String nodeManagerVersion; protected String nodeManagerBuildVersion; @@ -67,6 +70,8 @@ public class NodeInfo { this.pmemCheckEnabled = resourceView.isPmemCheckEnabled(); this.totalVCoresAllocatedContainers = resourceView .getVCoresAllocatedForContainers(); + this.resourceTypes = StringUtils.join(", ", + ResourceUtils.getResourcesTypeInfo()); this.nodeHealthy = context.getNodeHealthStatus().getIsNodeHealthy(); this.lastNodeUpdateTime = context.getNodeHealthStatus() .getLastHealthReportTime(); @@ -146,6 +151,10 @@ public class NodeInfo { return this.pmemCheckEnabled; } + public String getResourceTypes() { + return this.resourceTypes; + } + public long getNMStartupTime() { return nmStartupTime; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/81f6e46b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/TestNMWebServices.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/TestNMWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/TestNMWebServices.java index 45eb085..39e403d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/TestNMWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/webapp/TestNMWebServices.java @@ -745,14 +745,15 @@ public class TestNMWebServices extends JerseyTestBase { WebServicesTestUtils.getXmlString(element, "nodeManagerVersionBuiltOn"), WebServicesTestUtils.getXmlString( element, "nodeManagerBuildVersion"), - WebServicesTestUtils.getXmlString(element, "nodeManagerVersion")); + WebServicesTestUtils.getXmlString(element, "nodeManagerVersion"), + WebServicesTestUtils.getXmlString(element, "resourceTypes")); } } public void verifyNodeInfo(JSONObject json) throws JSONException, Exception { assertEquals("incorrect number of elements", 1, json.length()); JSONObject info = json.getJSONObject("nodeInfo"); - assertEquals("incorrect number of elements", 17, info.length()); + assertEquals("incorrect number of elements", 18, info.length()); verifyNodeInfoGeneric(info.getString("id"), info.getString("healthReport"), info.getLong("totalVmemAllocatedContainersMB"), info.getLong("totalPmemAllocatedContainersMB"), @@ -764,7 +765,9 @@ public class TestNMWebServices extends JerseyTestBase { info.getString("hadoopBuildVersion"), info.getString("hadoopVersion"), info.getString("nodeManagerVersionBuiltOn"), info.getString("nodeManagerBuildVersion"), - info.getString("nodeManagerVersion")); + info.getString("nodeManagerVersion"), + info.getString("resourceTypes") + ); } @@ -775,7 +778,8 @@ public class TestNMWebServices extends JerseyTestBase { long lastNodeUpdateTime, Boolean nodeHealthy, String nodeHostName, String hadoopVersionBuiltOn, String hadoopBuildVersion, String hadoopVersion, String resourceManagerVersionBuiltOn, - String resourceManagerBuildVersion, String resourceManagerVersion) { + String resourceManagerBuildVersion, String resourceManagerVersion, + String resourceTypes) { WebServicesTestUtils.checkStringMatch("id", "testhost.foo.com:8042", id); WebServicesTestUtils.checkStringMatch("healthReport", "Healthy", @@ -807,6 +811,8 @@ public class TestNMWebServices extends JerseyTestBase { YarnVersionInfo.getBuildVersion(), resourceManagerBuildVersion); WebServicesTestUtils.checkStringMatch("resourceManagerVersion", YarnVersionInfo.getVersion(), resourceManagerVersion); + + assertEquals("memory-mb (unit=Mi), vcores", resourceTypes); } private String getLogContext(String fullMessage) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
