虚拟机eclipse运行Java代码时报错:Exception in thread “main“ org.apache.hadoop.fs.UnsupportedFileSystemException

问题:虚拟机用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刷新程序再运行,完美解决问题!

你可能感兴趣的:(hdfs,hadoop,大数据)