Repository: hadoop Updated Branches: refs/heads/trunk 8b4b5259d -> 8e672e3c7
YARN-5286. Add RPC port info in RM web service's response when getting app status. (Jun Gong via Varun Saxena). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8e672e3c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8e672e3c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8e672e3c Branch: refs/heads/trunk Commit: 8e672e3c717bb6f02ae9f93747f78ca3ab5d74a6 Parents: 8b4b525 Author: Varun Saxena <[email protected]> Authored: Tue Jul 5 22:56:07 2016 +0530 Committer: Varun Saxena <[email protected]> Committed: Tue Jul 5 22:56:07 2016 +0530 ---------------------------------------------------------------------- .../resourcemanager/webapp/dao/AppInfo.java | 21 +++++++++++++++++++- .../webapp/TestRMWebServicesApps.java | 21 +++++++++++++++----- .../src/site/markdown/ResourceManagerRest.md | 7 +++++++ 3 files changed, 43 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8e672e3c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java index c5c02a8..be0b87f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java @@ -82,6 +82,7 @@ public class AppInfo { protected long elapsedTime; protected String amContainerLogs; protected String amHostHttpAddress; + private String amRPCAddress; protected long allocatedMB; protected long allocatedVCores; protected int runningContainers; @@ -168,7 +169,9 @@ public class AppInfo { masterContainer.getId().toString(), app.getUser()); this.amHostHttpAddress = masterContainer.getNodeHttpAddress(); } - + + this.amRPCAddress = getAmRPCAddressFromRMAppAttempt(attempt); + ApplicationResourceUsageReport resourceReport = attempt .getApplicationResourceUsageReport(); if (resourceReport != null) { @@ -281,6 +284,22 @@ public class AppInfo { return this.amHostHttpAddress; } + public String getAmRPCAddress() { + return amRPCAddress; + } + + static public String getAmRPCAddressFromRMAppAttempt(RMAppAttempt attempt) { + String amRPCAddress = null; + if (attempt != null) { + String amHost = attempt.getHost(); + int amRpcPort = attempt.getRpcPort(); + if (!"N/A".equals(amHost) && amRpcPort != -1) { + amRPCAddress = amHost + ":" + amRpcPort; + } + } + return amRPCAddress; + } + public boolean amContainerLogsExist() { return this.amContainerLogsExist; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/8e672e3c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java index 4f99c5c..2d20a82 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java @@ -46,6 +46,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler; +import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppInfo; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; @@ -1319,7 +1320,8 @@ public class TestRMWebServicesApps extends JerseyTestBase { WebServicesTestUtils.getXmlString(element, "logAggregationStatus"), WebServicesTestUtils.getXmlBoolean(element, "unmanagedApplication"), WebServicesTestUtils.getXmlString(element, "appNodeLabelExpression"), - WebServicesTestUtils.getXmlString(element, "amNodeLabelExpression")); + WebServicesTestUtils.getXmlString(element, "amNodeLabelExpression"), + WebServicesTestUtils.getXmlString(element, "amRPCAddress")); } } @@ -1338,6 +1340,12 @@ public class TestRMWebServicesApps extends JerseyTestBase { expectedNumberOfElements++; amNodeLabelExpression = info.getString("amNodeLabelExpression"); } + String amRPCAddress = null; + if (AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()) + != null) { + expectedNumberOfElements++; + amRPCAddress = info.getString("amRPCAddress"); + } assertEquals("incorrect number of elements", expectedNumberOfElements, info.length()); @@ -1360,7 +1368,8 @@ public class TestRMWebServicesApps extends JerseyTestBase { info.getString("logAggregationStatus"), info.getBoolean("unmanagedApplication"), appNodeLabelExpression, - amNodeLabelExpression); + amNodeLabelExpression, + amRPCAddress); } public void verifyAppInfoGeneric(RMApp app, String id, String user, @@ -1373,9 +1382,8 @@ public class TestRMWebServicesApps extends JerseyTestBase { int preemptedResourceMB, int preemptedResourceVCores, int numNonAMContainerPreempted, int numAMContainerPreempted, String logAggregationStatus, boolean unmanagedApplication, - String appNodeLabelExpression, String amNodeLabelExpression) - throws JSONException, - Exception { + String appNodeLabelExpression, String amNodeLabelExpression, + String amRPCAddress) throws JSONException, Exception { WebServicesTestUtils.checkStringMatch("id", app.getApplicationId() .toString(), id); @@ -1436,6 +1444,9 @@ public class TestRMWebServicesApps extends JerseyTestBase { assertEquals("unmanagedApplication doesn't match", app.getAMResourceRequest().getNodeLabelExpression(), amNodeLabelExpression); + assertEquals("amRPCAddress", + AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()), + amRPCAddress); } @Test http://git-wip-us.apache.org/repos/asf/hadoop/blob/8e672e3c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md index 1b77127..5862506 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md @@ -1381,6 +1381,7 @@ Response Body: "clusterId" : 1326815542473, "finalStatus" : "SUCCEEDED", "amHostHttpAddress" : "host.domain.com:8042", + "amRPCAddress" : "host.domain.com:4201", "progress" : 100, "name" : "word count", "startedTime" : 1326815573334, @@ -1410,6 +1411,7 @@ Response Body: "clusterId" : 1326815542473, "finalStatus" : "SUCCEEDED", "amHostHttpAddress" : "host.domain.com:8042", + "amRPCAddress" : "host.domain.com:4202", "progress" : 100, "name" : "Sleep job", "startedTime" : 1326815641380, @@ -1472,6 +1474,7 @@ Response Body: <elapsedTime>25196</elapsedTime> <amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326815542473_0001_01_000001</amContainerLogs> <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress> + <amRPCAddress>host.domain.com:4201</amRPCAddress> <allocatedMB>0</allocatedMB> <allocatedVCores>0</allocatedVCores> <runningContainers>0</runningContainers> @@ -1501,6 +1504,7 @@ Response Body: <elapsedTime>148166</elapsedTime> <amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326815542473_0002_01_000001</amContainerLogs> <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress> + <amRPCAddress>host.domain.com:4202</amRPCAddress> <allocatedMB>0</allocatedMB> <allocatedVCores>0</allocatedVCores> <runningContainers>0</runningContainers> @@ -1664,6 +1668,7 @@ Note that depending on security settings a user might not be able to see all the | elapsedTime | long | The elapsed time since the application started (in ms) | | amContainerLogs | string | The URL of the application master container logs | | amHostHttpAddress | string | The nodes http address of the application master | +| amRPCAddress | string | The RPC address of the application master | | allocatedMB | int | The sum of memory in MB allocated to the application's running containers | | allocatedVCores | int | The sum of virtual cores allocated to the application's running containers | | runningContainers | int | The number of containers currently running for the application | @@ -1703,6 +1708,7 @@ Response Body: "clusterId" : 1326821518301, "finalStatus" : "SUCCEEDED", "amHostHttpAddress" : "host.domain.com:8042", + "amRPCAddress" : "host.domain.com:4201", "progress" : 100, "name" : "Sleep job", "applicationType" : "Yarn", @@ -1756,6 +1762,7 @@ Response Body: <elapsedTime>446748</elapsedTime> <amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326821518301_0005_01_000001</amContainerLogs> <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress> + <amRPCAddress>host.domain.com:4201</amRPCAddress> <memorySeconds>151730</memorySeconds> <vcoreSeconds>103</vcoreSeconds> <unmanagedApplication>false</unmanagedApplication> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
