You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hadoop.apache.org by Fei Hu <hu...@gmail.com> on 2015/08/18 17:27:35 UTC

Remotely submit a job to Yarn on CDH5.4

Hi,

I want to remotely submit a job to Yarn on CDH5.4. The following is the code about the WordCount and the error report. Any one knows how to solve it?

Thanks in advance,
Fei



INFO: Job job_1439867352386_0025 failed with state FAILED due to: Application application_1439867352386_0025 failed 2 times due to AM Container for appattempt_1439867352386_0025_000002 exited with  exitCode: 1
For more detailed output, check application tracking page:http://compute-04:8088/proxy/application_1439867352386_0025/Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_1439867352386_0025_02_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1: 
	at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
	at org.apache.hadoop.util.Shell.run(Shell.java:455)
	at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)
	at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)


Container exited with a non-zero exit code 1
Failing this attempt. Failing the application.


public static void main(String[] args) throws Exception {
	    Configuration conf = new Configuration();
	    System.setProperty("HADOOP_USER_NAME","hdfs");	    
	    conf.set("hadoop.job.ugi", "supergroup");
	    
	    conf.set("mapreduce.framework.name", "yarn");
	    conf.set("fs.defaultFS", "hdfs://compute-04:8020");
	    conf.set("mapreduce.map.java.opts", "-Xmx1024M");
	    conf.set("mapreduce.reduce.java.opts", "-Xmx1024M");
	    
	    conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
	    conf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());
	    conf.set("yarn.resourcemanager.address", "199.25.200.134:8032");
	    
	    conf.set("yarn.resourcemanager.resource-tracker.address", "199.25.200.134:8031");
	    conf.set("yarn.resourcemanager.scheduler.address", "199.25.200.134:8030");
	    conf.set("yarn.resourcemanager.admin.address", "199.25.200.134:8033");
	    
	    
	    conf.set("yarn.nodemanager.aux-services", "mapreduce_shuffle");
	    
	    conf.set("yarn.application.classpath", "/etc/hadoop/conf.cloudera.hdfs,"
	    		+ "/etc/hadoop/conf.cloudera.yarn,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop/*,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop/lib/*,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop-hdfs/*,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop-hdfs/lib/*,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop-yarn/*,"
	    		+ "/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/hadoop-yarn/lib/*");
	    
	    
	    GenericOptionsParser optionParser = new GenericOptionsParser(conf, args);
	    String[] remainingArgs = optionParser.getRemainingArgs();
	    if (!(remainingArgs.length != 2 || remainingArgs.length != 4)) {
	      System.err.println("Usage: wordcount <in> <out> [-skip skipPatternFile]");
	      System.exit(2);
	    }
	    Job job = Job.getInstance(conf, "word count");
	    job.setJarByClass(WordCount2.class);
	    job.setMapperClass(TokenizerMapper.class);
	    job.setCombinerClass(IntSumReducer.class);
	    job.setReducerClass(IntSumReducer.class);
	    job.setOutputKeyClass(Text.class);
	    job.setOutputValueClass(IntWritable.class);

	    List<String> otherArgs = new ArrayList<String>();
	    for (int i=0; i < remainingArgs.length; ++i) {
	      if ("-skip".equals(remainingArgs[i])) {
	        job.addCacheFile(new Path(remainingArgs[++i]).toUri());
	        job.getConfiguration().setBoolean("wordcount.skip.patterns", true);
	      } else {
	        otherArgs.add(remainingArgs[i]);
	      }
	    }
	    FileInputFormat.addInputPath(job, new Path(otherArgs.get(0)));
	    FileOutputFormat.setOutputPath(job, new Path(otherArgs.get(1)));
	    
	    System.exit(job.waitForCompletion(true) ? 0 : 1);
	  }