No FileSystem for scheme: file 解决方法

阅读更多
        程序打成jar包后,放到服务器上去执行,程序能够按预期去正确执行,但看到如下错误还是很不爽:
2014-08-13 17:16:49 [WARN]-[main]-[org.apache.hadoop.hbase.util.DynamicClassLoader] Failed to identify the fs of dir /tmp/hbase-ecm2/hbase/lib, ignored
java.io.IOException: No FileSystem for scheme: file
	at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2385) ~[ecm.jar:na]
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2392) ~[ecm.jar:na]
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89) ~[ecm.jar:na]
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2431) ~[ecm.jar:na]
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2413) ~[ecm.jar:na]
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368) ~[ecm.jar:na]


        【问题分析:】
        eclipse打包完成后,jar包中core-site.xml配置文件中不存在以下两个配置项。

        fs.hdfs.impl
        org.apache.hadoop.hdfs.DistributedFileSystem
        The FileSystem for hdfs: uris.


        fs.file.impl
        org.apache.hadoop.fs.LocalFileSystem
        The FileSystem for hdfs: uris.


        只要将上面两个配置加到core-site.xml中,然后替换jar包中的xml,重新扔到服务器上,就可以成功运行了。

你可能感兴趣的:(eclipse,Hadoop,java)