org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.hadoop.hdfs.DistributedFileSystem

将自己之前写好的hadoop进程拷贝给师弟时候总是会报下面的错:

1
2
3
4
java.lang.ClassCastException: org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.hadoop.hdfs.DistributedFileSystem
at hadoop.mapreduce.ali.recommend.common.HdfsHelper.<clinit>(HdfsHelper.java:25)
at hadoop.mapreduce.ali.recommend.LogisticRegression.LRProgram.run(LRProgram.java:53)
at hadoop.mapreduce.ali.recommend.LogisticRegression.LRProgram.main(LRProgram.java:23)

字面自已上就是本地文档不能转为分布式文档,自己在输入文档上加hdfs前缀也是无济于事,搜索关键字了半天也没找到匹配的方案,后来终于在一个博客找到了解决方案:

hadoop/conf/下面的core-site.xmlhdfs-site.xml复制到工程文档的/bin/目录下面就可以了(使用的是Eclipse的IDE),坑爹。