问题:虚拟机用eclipse运行Java代码时报错(我确定不是jar包的问题,如果你们有出现这种情况建议先检查自己eclipse导入的jar包完不完整)
Exception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "hdfs" at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3281) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3301) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:124) at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3352) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3320) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:542) at zuoye.WordCount.main(WordCount.java:33)
(图片忘了截图)
虚拟机:Ubuntu16.0.4
Hadoop:3.1.3
弄了几天都没有解决,最后删机重练才发现是我之前练习完Hadoop集群要转为伪分布式的时候没有清空Hadoop文件夹里的logs和tmp文件夹并格式化namenode。
于是回到终端关闭dfs服务(重点:记得先关闭Hadoop服务,不然datanode会和namenode不匹配)并清空logs和tmp文件夹
stop-dfs.sh cd /usr/local/hadoop rm -r logs rm -r tmp mkdir logs mkdir tmp
并格式化nomenode
hadoop namenode -format
有回答Y/n的时候一律回答Y
格式化完回去eclipse刷新程序再运行,完美解决问题!



