在看hadoop in action 的时候,关于hdfs的操作地方,抄写代码PutMerge到eclipse上,出现了错误
Wrong FS: hdfs://192.168.96.131:9000/user/hadoop, expected: file:/
然后,上网查找了一下这个错误,说是将core-site.xml 和hdfs-site.xml拷贝到项目里去就可以,原因是访问远程的HDFS 需要通过URI来获得FileSystem.。参考链接
但是在同样的eclipse配置下,典型的wordcount程序却没有错误(这个随便百度或者谷歌一下找个hadoop安装教程,测试安装的时候都有)
结合上面两个现象,觉得问题应该出在配置问题上,于是想到Configuration对象。
于是,尝试在PutMerge中用getConf()方法,发现是需要继承Configured类。这样就不用拷贝core-site.xml 和hdfs-site.xml到项目里了