设为首页 加入收藏

TOP

Wrong FS: hdfs expected: file:
2018-11-13 13:56:56 】 浏览:39
Tags:Wrong FS: hdfs expected: file:
版权声明:本文为博主原创文章,未经博主允许最好别转载,你非要转我也没办法。 ╮(╯▽╰)╭ https://blog.csdn.net/u011478909/article/details/51872524
场景:错误java.lang.IllegalArgumentException:Wrong FS: hdfs:/, expected: file:///

异常java.lang.IllegalArgumentException: Wrong FS: hdfs:/, expected: file:///

在hadoop-2.2.0版本中对hdfs进行简单的测试操作,代码如下所示

                Configuration conf = new Configuration();
		try {
			FileSystem fs = FileSystem.get(conf);
			Path f = new Path("hdfs:///dfs_operator.txt");
			FSDataOutputStream os = fs.create(f, true);
			int i = 0;
			for (i = 0; i < 10; ++i)
				os.writeChars("test");
			os.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

执行报错信息如下:

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.IllegalArgumentException: Wrong FS: hdfs:/, expected: file:///
        at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:642)
        at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:69)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:419)
        at org.apache.hadoop.fs.ChecksumFileSystem.mkdirs(ChecksumFileSystem.java:584)
        at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:437)
        at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:424)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:905)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:886)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:783)
        at com.ailk.hadoopdemo.DFSOperator.main(DFSOperator.java:22)
        ... 5 more

解决方法一:

// explicitely add other config files// PASS A PATH NOT A STRING!
 conf.addResource(newPath("/home/hadoop/conf/core-site.xml"));

解决方法二:

把hadoop集群上的core-site.xml和hdfs-site.xml放到工程的src目录下

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hive 导入CSV文件 下一篇如何以hdfs的用户来执行hadoop命令

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目