Author: tgraves Date: Wed Feb 6 18:44:53 2013 New Revision: 1443118 URL: http://svn.apache.org/viewvc?rev=1443118&view=rev Log: YARN-83. Change package of YarnClient to include apache (Bikas Saha via tgraves). This als includes YARN-29.
Added: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/dev-support/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/dev-support/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/YarnClient.java - copied unchanged from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/YarnClient.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/YarnClientImpl.java - copied unchanged from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/YarnClientImpl.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ - copied from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java - copied unchanged from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/ApplicationCLI.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java - copied, changed from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/YarnCLI.java - copied unchanged from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/YarnCLI.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/ - copied from r1377781, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ - copied from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java - copied, changed from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/ - copied from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java - copied, changed from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/pom.xml hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/dev-support/findbugs-exclude.xml hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/pom.xml Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt?rev=1443118&r1=1443117&r2=1443118&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt Wed Feb 6 18:44:53 2013 @@ -25,6 +25,11 @@ Release 0.23.7 - UNRELEASED YARN-364. AggregatedLogDeletionService can take too long to delete logs (jlowe) + YARN-29. Add a yarn-client module (Vinod Kumar Vavilapalli via tgraves) + + YARN-83. Change package of YarnClient to include apache (Bikas Saha via + tgraves) + Release 0.23.6 - UNRELEASED INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/pom.xml?rev=1443118&r1=1443117&r2=1443118&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/pom.xml (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/pom.xml Wed Feb 6 18:44:53 2013 @@ -43,6 +43,10 @@ </dependency> <dependency> <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-client</artifactId> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-server-nodemanager</artifactId> <scope>test</scope> </dependency> Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java?rev=1443118&r1=1443117&r2=1443118&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java Wed Feb 6 18:44:53 2013 @@ -22,7 +22,6 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -44,20 +43,8 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.yarn.api.ApplicationConstants; import org.apache.hadoop.yarn.api.ClientRMProtocol; -import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest; -import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse; -import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest; -import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse; -import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest; -import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesResponse; -import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest; import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse; -import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest; -import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoResponse; -import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoRequest; -import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoResponse; import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationRequest; -import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ApplicationReport; import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext; @@ -73,13 +60,13 @@ import org.apache.hadoop.yarn.api.record import org.apache.hadoop.yarn.api.records.QueueUserACLInfo; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.api.records.YarnApplicationState; +import org.apache.hadoop.yarn.api.records.YarnClusterMetrics; +import org.apache.hadoop.yarn.client.YarnClientImpl; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnRemoteException; -import org.apache.hadoop.yarn.ipc.YarnRPC; import org.apache.hadoop.yarn.util.ConverterUtils; import org.apache.hadoop.yarn.util.Records; - /** * Client for Distributed Shell application submission to YARN. * @@ -113,19 +100,13 @@ import org.apache.hadoop.yarn.util.Recor */ @InterfaceAudience.Public @InterfaceStability.Unstable -public class Client { +public class Client extends YarnClientImpl { private static final Log LOG = LogFactory.getLog(Client.class); // Configuration private Configuration conf; - // RPC to communicate to RM - private YarnRPC rpc; - - // Handle to talk to the Resource Manager/Applications Manager - private ClientRMProtocol applicationsManager; - // Application master specific info to register a new Application with RM/ASM private String appName = ""; // App master priority @@ -198,9 +179,9 @@ public class Client { /** */ public Client(Configuration conf) throws Exception { - // Set up the configuration and RPC + super(); this.conf = conf; - rpc = YarnRPC.create(conf); + init(conf); } /** @@ -331,22 +312,17 @@ public class Client { * @throws IOException */ public boolean run() throws IOException { - LOG.info("Starting Client"); - // Connect to ResourceManager - connectToASM(); - assert(applicationsManager != null); - - // Use ClientRMProtocol handle to general cluster information - GetClusterMetricsRequest clusterMetricsReq = Records.newRecord(GetClusterMetricsRequest.class); - GetClusterMetricsResponse clusterMetricsResp = applicationsManager.getClusterMetrics(clusterMetricsReq); + LOG.info("Running Client"); + start(); + + YarnClusterMetrics clusterMetrics = super.getYarnClusterMetrics(); LOG.info("Got Cluster metric info from ASM" - + ", numNodeManagers=" + clusterMetricsResp.getClusterMetrics().getNumNodeManagers()); + + ", numNodeManagers=" + clusterMetrics.getNumNodeManagers()); - GetClusterNodesRequest clusterNodesReq = Records.newRecord(GetClusterNodesRequest.class); - GetClusterNodesResponse clusterNodesResp = applicationsManager.getClusterNodes(clusterNodesReq); + List<NodeReport> clusterNodeReports = super.getNodeReports(); LOG.info("Got Cluster node info from ASM"); - for (NodeReport node : clusterNodesResp.getNodeReports()) { + for (NodeReport node : clusterNodeReports) { LOG.info("Got node report from ASM for" + ", nodeId=" + node.getNodeId() + ", nodeAddress" + node.getHttpAddress() @@ -355,9 +331,7 @@ public class Client { + ", nodeHealthStatus" + node.getNodeHealthStatus()); } - GetQueueInfoRequest queueInfoReq = Records.newRecord(GetQueueInfoRequest.class); - GetQueueInfoResponse queueInfoResp = applicationsManager.getQueueInfo(queueInfoReq); - QueueInfo queueInfo = queueInfoResp.getQueueInfo(); + QueueInfo queueInfo = super.getQueueInfo(this.amQueue); LOG.info("Queue info" + ", queueName=" + queueInfo.getQueueName() + ", queueCurrentCapacity=" + queueInfo.getCurrentCapacity() @@ -365,9 +339,7 @@ public class Client { + ", queueApplicationCount=" + queueInfo.getApplications().size() + ", queueChildQueueCount=" + queueInfo.getChildQueues().size()); - GetQueueUserAclsInfoRequest queueUserAclsReq = Records.newRecord(GetQueueUserAclsInfoRequest.class); - GetQueueUserAclsInfoResponse queueUserAclsResp = applicationsManager.getQueueUserAcls(queueUserAclsReq); - List<QueueUserACLInfo> listAclInfo = queueUserAclsResp.getUserAclsInfoList(); + List<QueueUserACLInfo> listAclInfo = super.getQueueAclsInfo(); for (QueueUserACLInfo aclInfo : listAclInfo) { for (QueueACL userAcl : aclInfo.getUserAcls()) { LOG.info("User ACL Info for Queue" @@ -377,7 +349,7 @@ public class Client { } // Get a new application id - GetNewApplicationResponse newApp = getApplication(); + GetNewApplicationResponse newApp = super.getNewApplication(); ApplicationId appId = newApp.getApplicationId(); // TODO get min/max resource capabilities from RM and change memory ask if needed @@ -598,16 +570,12 @@ public class Client { // TODO can it be empty? appContext.setUser(amUser); - // Create the request to send to the applications manager - SubmitApplicationRequest appRequest = Records.newRecord(SubmitApplicationRequest.class); - appRequest.setApplicationSubmissionContext(appContext); - // Submit the application to the applications manager // SubmitApplicationResponse submitResp = applicationsManager.submitApplication(appRequest); // Ignore the response as either a valid response object is returned on success // or an exception thrown to denote some form of a failure LOG.info("Submitting application to ASM"); - applicationsManager.submitApplication(appRequest); + super.submitApplication(appContext); // TODO // Try submitting the same request again @@ -637,10 +605,7 @@ public class Client { } // Get application report for the appId we are interested in - GetApplicationReportRequest reportRequest = Records.newRecord(GetApplicationReportRequest.class); - reportRequest.setApplicationId(appId); - GetApplicationReportResponse reportResponse = applicationsManager.getApplicationReport(reportRequest); - ApplicationReport report = reportResponse.getApplicationReport(); + ApplicationReport report = super.getApplicationReport(appId); LOG.info("Got application report from ASM for" + ", appId=" + appId.getId() @@ -679,7 +644,7 @@ public class Client { if (System.currentTimeMillis() > (clientStartTime + clientTimeout)) { LOG.info("Reached client specified timeout for application. Killing application"); - killApplication(appId); + forceKillApplication(appId); return false; } } @@ -691,61 +656,14 @@ public class Client { * @param appId Application Id to be killed. * @throws YarnRemoteException */ - private void killApplication(ApplicationId appId) throws YarnRemoteException { - KillApplicationRequest request = Records.newRecord(KillApplicationRequest.class); + private void forceKillApplication(ApplicationId appId) throws YarnRemoteException { // TODO clarify whether multiple jobs with the same app id can be submitted and be running at // the same time. // If yes, can we kill a particular attempt only? - request.setApplicationId(appId); - // KillApplicationResponse response = applicationsManager.forceKillApplication(request); + // Response can be ignored as it is non-null on success or // throws an exception in case of failures - applicationsManager.forceKillApplication(request); - } - - /** - * Connect to the Resource Manager/Applications Manager - * @return Handle to communicate with the ASM - * @throws IOException - */ - private void connectToASM() throws IOException { - - /* - UserGroupInformation user = UserGroupInformation.getCurrentUser(); - applicationsManager = user.doAs(new PrivilegedAction<ClientRMProtocol>() { - public ClientRMProtocol run() { - InetSocketAddress rmAddress = NetUtils.createSocketAddr(conf.get( - YarnConfiguration.RM_SCHEDULER_ADDRESS, - YarnConfiguration.DEFAULT_RM_SCHEDULER_ADDRESS)); - LOG.info("Connecting to ResourceManager at " + rmAddress); - Configuration appsManagerServerConf = new Configuration(conf); - appsManagerServerConf.setClass(YarnConfiguration.YARN_SECURITY_INFO, - ClientRMSecurityInfo.class, SecurityInfo.class); - ClientRMProtocol asm = ((ClientRMProtocol) rpc.getProxy(ClientRMProtocol.class, rmAddress, appsManagerServerConf)); - return asm; - } - }); - */ - YarnConfiguration yarnConf = new YarnConfiguration(conf); - InetSocketAddress rmAddress = yarnConf.getSocketAddr( - YarnConfiguration.RM_ADDRESS, - YarnConfiguration.DEFAULT_RM_ADDRESS, - YarnConfiguration.DEFAULT_RM_PORT); - LOG.info("Connecting to ResourceManager at " + rmAddress); - applicationsManager = ((ClientRMProtocol) rpc.getProxy( - ClientRMProtocol.class, rmAddress, conf)); - } - - /** - * Get a new application from the ASM - * @return New Application - * @throws YarnRemoteException - */ - private GetNewApplicationResponse getApplication() throws YarnRemoteException { - GetNewApplicationRequest request = Records.newRecord(GetNewApplicationRequest.class); - GetNewApplicationResponse response = applicationsManager.getNewApplication(request); - LOG.info("Got new application id=" + response.getApplicationId()); - return response; + super.killApplication(appId); } private static String getTestRuntimeClasspath() { Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/dev-support/findbugs-exclude.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/dev-support/findbugs-exclude.xml?rev=1443118&r1=1377781&r2=1443118&view=diff ============================================================================== (empty) Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml?rev=1443118&r1=1377781&r2=1443118&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml Wed Feb 6 18:44:53 2013 @@ -17,11 +17,11 @@ <parent> <artifactId>hadoop-yarn</artifactId> <groupId>org.apache.hadoop</groupId> - <version>3.0.0-SNAPSHOT</version> + <version>0.23.7-SNAPSHOT</version> </parent> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-client</artifactId> - <version>3.0.0-SNAPSHOT</version> + <version>0.23.7-SNAPSHOT</version> <name>hadoop-yarn-client</name> <dependencies> @@ -33,5 +33,23 @@ <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-common</artifactId> </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-server-resourcemanager</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-server-tests</artifactId> + <scope>test</scope> + <type>test-jar</type> + </dependency> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-server-resourcemanager</artifactId> + <scope>test</scope> + <type>test-jar</type> + </dependency> + </dependencies> </project> Copied: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java (from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java) URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java?p2=hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java&p1=hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java&r1=1395793&r2=1443118&rev=1443118&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/NodeCLI.java Wed Feb 6 18:44:53 2013 @@ -31,7 +31,7 @@ import org.apache.hadoop.yarn.exceptions import org.apache.hadoop.yarn.util.ConverterUtils; public class NodeCLI extends YarnCLI { - private static final String NODES_PATTERN = "%16s\t%10s\t%17s\t%26s\t%18s\n"; + private static final String NODES_PATTERN = "%16s\t%17s\t%26s\t%18s\n"; public static void main(String[] args) throws Exception { NodeCLI cli = new NodeCLI(); cli.setSysOutPrintStream(System.out); @@ -83,11 +83,11 @@ public class NodeCLI extends YarnCLI { PrintWriter writer = new PrintWriter(sysout); List<NodeReport> nodesReport = client.getNodeReports(); writer.println("Total Nodes:" + nodesReport.size()); - writer.printf(NODES_PATTERN, "Node-Id", "Node-State", "Node-Http-Address", + writer.printf(NODES_PATTERN, "Node-Id", "Node-Http-Address", "Health-Status(isNodeHealthy)", "Running-Containers"); for (NodeReport nodeReport : nodesReport) { - writer.printf(NODES_PATTERN, nodeReport.getNodeId(), nodeReport - .getNodeState(), nodeReport.getHttpAddress(), nodeReport + writer.printf(NODES_PATTERN, nodeReport.getNodeId(), + nodeReport.getHttpAddress(), nodeReport .getNodeHealthStatus().getIsNodeHealthy(), nodeReport .getNumContainers()); } @@ -115,8 +115,6 @@ public class NodeCLI extends YarnCLI { nodeReportStr.append(nodeReport.getNodeId()); nodeReportStr.append("\n\tRack : "); nodeReportStr.append(nodeReport.getRackName()); - nodeReportStr.append("\n\tNode-State : "); - nodeReportStr.append(nodeReport.getNodeState()); nodeReportStr.append("\n\tNode-Http-Address : "); nodeReportStr.append(nodeReport.getHttpAddress()); nodeReportStr.append("\n\tHealth-Status(isNodeHealthy) : "); @@ -144,4 +142,4 @@ public class NodeCLI extends YarnCLI { sysout.println(nodeReportStr.toString()); } -} \ No newline at end of file +} Copied: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java (from r1381273, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java) URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java?p2=hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java&p1=hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java&r1=1381273&r2=1443118&rev=1443118&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestYarnClient.java Wed Feb 6 18:44:53 2013 @@ -21,6 +21,7 @@ package org.apache.hadoop.yarn.client; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.client.YarnClient; import org.apache.hadoop.yarn.client.YarnClientImpl; +import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; import org.junit.Test; @@ -33,7 +34,7 @@ public class TestYarnClient { @Test public void testClientStop() { - Configuration conf = new Configuration(); + Configuration conf = new YarnConfiguration(); ResourceManager rm = new ResourceManager(null); rm.init(conf); rm.start(); Copied: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java (from r1395793, hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java) URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java?p2=hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java&p1=hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java&r1=1395793&r2=1443118&rev=1443118&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestYarnCLI.java Wed Feb 6 18:44:53 2013 @@ -40,10 +40,11 @@ import org.apache.hadoop.yarn.api.record import org.apache.hadoop.yarn.api.records.NodeHealthStatus; import org.apache.hadoop.yarn.api.records.NodeId; import org.apache.hadoop.yarn.api.records.NodeReport; -import org.apache.hadoop.yarn.api.records.NodeState; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.api.records.YarnApplicationState; import org.apache.hadoop.yarn.client.YarnClient; +import org.apache.hadoop.yarn.factories.RecordFactory; +import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider; import org.apache.hadoop.yarn.util.BuilderUtils; import org.apache.hadoop.yarn.util.Records; import org.junit.Before; @@ -51,6 +52,9 @@ import org.junit.Test; public class TestYarnCLI { + private static final RecordFactory recordFactory = RecordFactoryProvider + .getRecordFactory(null); + private YarnClient client = mock(YarnClient.class); ByteArrayOutputStream sysOutStream; private PrintStream sysOut; @@ -70,7 +74,7 @@ public class TestYarnCLI { ApplicationCLI cli = createAndGetAppCLI(); ApplicationId applicationId = BuilderUtils.newApplicationId(1234, 5); ApplicationReport newApplicationReport = BuilderUtils.newApplicationReport( - applicationId, BuilderUtils.newApplicationAttemptId(applicationId, 1), + applicationId, "user", "queue", "appname", "host", 124, null, YarnApplicationState.FINISHED, "diagnostics", "url", 0, 0, FinalApplicationStatus.SUCCEEDED, null, "N/A"); @@ -94,7 +98,7 @@ public class TestYarnCLI { ApplicationCLI cli = createAndGetAppCLI(); ApplicationId applicationId = BuilderUtils.newApplicationId(1234, 5); ApplicationReport newApplicationReport = BuilderUtils.newApplicationReport( - applicationId, BuilderUtils.newApplicationAttemptId(applicationId, 1), + applicationId, "user", "queue", "appname", "host", 124, null, YarnApplicationState.FINISHED, "diagnostics", "url", 0, 0, FinalApplicationStatus.SUCCEEDED, null, "N/A"); @@ -140,13 +144,13 @@ public class TestYarnCLI { StringBuffer nodesReportStr = new StringBuffer(); nodesReportStr.append("Total Nodes:3"); nodesReportStr - .append("\n Node-Id\tNode-State\tNode-Http-Address\t" + .append("\n Node-Id\tNode-Http-Address\t" + "Health-Status(isNodeHealthy)\tRunning-Containers"); - nodesReportStr.append("\n host0:0\t RUNNING\t host1:8888" + nodesReportStr.append("\n host0:0\t host1:8888" + "\t false\t 0"); - nodesReportStr.append("\n host1:0\t RUNNING\t host1:8888" + nodesReportStr.append("\n host1:0\t host1:8888" + "\t false\t 0"); - nodesReportStr.append("\n host2:0\t RUNNING\t host1:8888" + nodesReportStr.append("\n host2:0\t host1:8888" + "\t false\t 0\n"); Assert.assertEquals(nodesReportStr.toString(), sysOutStream.toString()); verify(sysOut, times(1)).write(any(byte[].class), anyInt(), anyInt()); @@ -164,7 +168,7 @@ public class TestYarnCLI { assertEquals(0, result); verify(client).getNodeReports(); String nodeStatusStr = "Node Report : \n\tNode-Id : host0:0\n\t" - + "Rack : rack1\n\tNode-State : RUNNING\n\t" + + "Rack : rack1\n\t" + "Node-Http-Address : host1:8888\n\tHealth-Status(isNodeHealthy) " + ": false\n\tLast-Last-Health-Update : 0\n\tHealth-Report : null" + "\n\tContainers : 0\n\tMemory-Used : 0M\n\tMemory-Capacity : 0"; @@ -206,18 +210,33 @@ public class TestYarnCLI { private List<NodeReport> getNodeReports(int noOfNodes) { List<NodeReport> nodeReports = new ArrayList<NodeReport>(); - + for (int i = 0; i < noOfNodes; i++) { - NodeReport nodeReport = BuilderUtils.newNodeReport(BuilderUtils - .newNodeId("host" + i, 0), NodeState.RUNNING, "host" + 1 + ":8888", - "rack1", Records.newRecord(Resource.class), Records - .newRecord(Resource.class), 0, Records - .newRecord(NodeHealthStatus.class)); + NodeReport nodeReport = newNodeReport(BuilderUtils + .newNodeId("host" + i, 0), "host" + 1 + ":8888", + "rack1", Records.newRecord(Resource.class), Records + .newRecord(Resource.class), 0, Records + .newRecord(NodeHealthStatus.class)); nodeReports.add(nodeReport); } return nodeReports; } + private static NodeReport newNodeReport(NodeId nodeId, + String httpAddress, String rackName, Resource used, Resource capability, + int numContainers, NodeHealthStatus nodeHealthStatus) { + NodeReport nodeReport = recordFactory.newRecordInstance(NodeReport.class); + nodeReport.setNodeId(nodeId); + nodeReport.setHttpAddress(httpAddress); + nodeReport.setRackName(rackName); + nodeReport.setUsed(used); + nodeReport.setCapability(capability); + nodeReport.setNumContainers(numContainers); + nodeReport.setNodeHealthStatus(nodeHealthStatus); + return nodeReport; + } + + private ApplicationCLI createAndGetAppCLI() { ApplicationCLI cli = new ApplicationCLI(); cli.setClient(client); @@ -225,4 +244,4 @@ public class TestYarnCLI { return cli; } -} \ No newline at end of file +} Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/pom.xml?rev=1443118&r1=1443117&r2=1443118&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/pom.xml (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/pom.xml Wed Feb 6 18:44:53 2013 @@ -11,8 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.hadoop</groupId> @@ -244,5 +243,6 @@ <module>hadoop-yarn-server</module> <module>hadoop-yarn-applications</module> <module>hadoop-yarn-site</module> + <module>hadoop-yarn-client</module> </modules> -</project> +</project> \ No newline at end of file