2013-12-17 2 views
1

전자식을 사용하는 원격 컴퓨터에서 hadoop 2.2.0에서 wordcount 예제를 실행할 수 없습니다. 나는 runnable jar를 빌드하고> java -jar wordcount.jar를 사용하여 실행했다. 내가 실종 무엇 다음과 같은 오류hadoop 2.2.0 wordcount prg 원격에서 실행할 수 없음

Exception in thread "main" java.lang.NullPointerException 
    at java.lang.ProcessBuilder.start(Unknown Source) 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:404) 
    at org.apache.hadoop.util.Shell.run(Shell.java:379) 
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589) 
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:678) 
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:661) 
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639) 
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:435) 
    at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277) 
    at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) 
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:344) 
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268) 
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Unknown Source) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) 
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265) 
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286) 
    at org.myorg.WordCount.main(WordCount.java:69) 

을 얻고있다

Configuration conf = new Configuration();  
Job job = new Job(conf, "wordcount");   
conf.set("fs.defaultFS", "hdfs://192.168.117.128:8020/"); 
conf.set("hadoop.job.ugi", "root"); 
conf.set("mapred.job.tracker", "192.168.117.128:8021"); 
Path inputPath = new Path("/input/FB_Bank_Comments_abi_required_original.txt"); 
Path outputPath = new Path("/output/wordcount"+System.currentTimeMillis());  
job.setJobName("wordcount_analysis"); 
job.setJarByClass(Map.class);  
job.setOutputKeyClass(Text.class); 
job.setOutputValueClass(IntWritable.class);   
job.setMapperClass(Map.class); 
job.setReducerClass(Reduce.class);   
job.setInputFormatClass(TextInputFormat.class); 
job.setOutputFormatClass(TextOutputFormat.class);   
FileInputFormat.addInputPath(job, inputPath); 
FileOutputFormat.setOutputPath(job, outputPath);   
job.waitForCompletion(true); 

를 다음과 같이 내 드라이버 클래스 코드는? 어떤 도움을 주셔서 감사합니다

답변

0

같은 오류가 발생했습니다. 결국 나는 그 이유를 발견했다. 출력 디렉토리가 이미 있습니다. 출력 디렉터리를 삭제하고 다시 실행 한 후에도 작동했습니다.

관련 문제