You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2006/02/22 23:55:31 UTC

svn commit: r379955 - /lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java

Author: cutting
Date: Wed Feb 22 14:55:20 2006
New Revision: 379955

URL: http://svn.apache.org/viewcvs?rev=379955&view=rev
Log:
Fix for HADOOP-49: Permit specification of jobtracker when submitting jobs.

Modified:
    lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java

Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java
URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java?rev=379955&r1=379954&r2=379955&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java Wed Feb 22 14:55:20 2006
@@ -319,26 +319,48 @@
       }
     }
 
+    static Configuration getConfiguration(String jobTrackerSpec)
+    {
+      Configuration conf = new Configuration();
+      if(jobTrackerSpec != null) {        
+        if(jobTrackerSpec.indexOf(":") >= 0) {
+          conf.set("mapred.job.tracker", jobTrackerSpec);
+        } else {
+          String classpathFile = "hadoop-" + jobTrackerSpec + ".xml";
+          URL validate = conf.getResource(classpathFile);
+          if(validate == null) {
+            throw new RuntimeException(classpathFile + " not found on CLASSPATH");
+          }
+          conf.addFinalResource(classpathFile);
+        }
+      }
+      return conf;
+    }
+        
 
     /**
      */
     public static void main(String argv[]) throws IOException {
         if (argv.length < 2) {
-            System.out.println("JobClient -submit <job> | -status <id> | -kill <id>");
+            System.out.println("JobClient -submit <job> | -status <id> | -kill <id> [-jt <jobtracker:port>|<config>]");
             System.exit(-1);
         }
 
         // Process args
         String jobTrackerStr = argv[0];
+        String jobTrackerSpec = null;
         String submitJobFile = null;
         String jobid = null;
         boolean getStatus = false;
         boolean killJob = false;
 
         for (int i = 0; i < argv.length; i++) {
-            if ("-submit".equals(argv[i])) {
+            if ("-jt".equals(argv[i])) {
+                jobTrackerSpec = argv[i+1];
+                i++;
+            } else if ("-submit".equals(argv[i])) {
                 submitJobFile = argv[i+1];
-                i+=2;
+                i++;
             } else if ("-status".equals(argv[i])) {
                 jobid = argv[i+1];
                 getStatus = true;
@@ -351,7 +373,7 @@
         }
 
         // Submit the request
-        JobClient jc = new JobClient(new Configuration());
+        JobClient jc = new JobClient(getConfiguration(jobTrackerSpec));
         try {
             if (submitJobFile != null) {
                 RunningJob job = jc.submitJob(submitJobFile);