执行自己编写的wordcount出的错,命令:hadoop jar WC.jar cn.drh.hadoop.mr.wc.WordCount /mrexample/wc /mrexample/result
<pre name="code" class="java">15/02/02 10:50:26 ERROR security.UserGroupInformation: PriviledgedActionException as:drh (auth:SIMPLE) cause:
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://drh01:9000/mrexample/result already exists
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://drh01:9000/mrexample/result already exists
at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)
at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:456)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:342)
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(Subject.java:415)
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 cn.drh.hadoop.mr.wc.WordCount.main(WordCount.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
原因是之前执行了一遍,但是出错了,现在改好了,直接执行, 由于之前文件夹已创建。(个人最初感觉应该创建了也没问题)
查资料发现:为outout文件夹是由hadoop自动生成的,所以会报错
解决方式:1:删除已经存在的文件夹,2:更改路径。
org.apache.hadoop.mapred.FileAlreadyExistsException
最新推荐文章于 2023-08-07 17:31:22 发布