2016-02-10 150 views
0

錯誤這我得到MapReduce的Hadoop的錯誤是:與搖籃

16/02/10 11:21:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
16/02/10 11:21:53 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/tmp/outku already exists 
    at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146) 
    at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:266) 
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:139) 
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290) 
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:422) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287) 
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1308) 
    at mr.WordCount.main(WordCount.java:87) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

請幫助我,我怎麼能解決這個錯誤或什麼讓這種情況發生。

回答

0

FileAlreadyExistsException: Output directory hdfs://localhost:9000/tmp/outku。這意味着輸出目錄已經存在。

始終在運行時指定的輸出目錄名(例如Hadoop的將自動創建該目錄給你的。你不必擔心輸出目錄的創建)

你要刪除現有的輸出目錄和試運行M/r作業或更改輸出目錄名稱

0

每次hadoop運行MapReduce時,都會創建一個文件夾作爲輸出。

如果要運行相同的作業,可以指定不同的輸出文件夾名稱,或者刪除以前的文件夾。