HDFS 的Java操作“ Wrong FS: hdfs://xxx, expected: file:///”
来源:互联网 发布:阿里云 虚拟主机 6元 编辑:程序博客网 时间:2024/06/05 04:56
从HDFS集群中下载文件到本地:
错误的文件系统,但集群中实际是存在这个文件的,为什么找不到呢?原因是FileSystem没有真正拿到HDFS文件系统的实例对象,它不认识“hdfs://sempplsl-01:9000”这个信息,解决方法是将core-site.xml中配置的fs.defaultFS添加到代码的conf中。添加后执行成功。
import java.io.FileOutputStream;import java.io.IOException;import org.apache.commons.io.IOUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HdfsUtil {public static void main(String args[]) throws IOException{downloadFromHdfs();}// download a file from hdfs to localpublic static void downloadFromHdfs() throws IOException {Configuration conf=new Configuration();//read configuration file//conf.set("fs.defaultFS", "hdfs://sempplsl-01:9000"); 没有这一项会报错 FileSystem fs = FileSystem.get(conf);//fs can be seen as a client of hdfs,it is used to read and write//download file from hdfsPath path=new Path("hdfs://sempplsl-01:9000/hadoop-2.4.1.tar.gz");//get a stream from hdfsFSDataInputStream input=fs.open(path);// output the stream to localFileOutputStream fo=new FileOutputStream("/home/hadoop/Downloads/hadoop.tgz");IOUtils.copy(input,fo);}}
运行的时候报错:
2016-09-03 03:14:28,743 WARN [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable<span style="color:#FF0000;">Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://sempplsl-01:9000/hadoop-2.4.1.tar.gz, expected: file:/// at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:643) at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:79) at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:506) at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:724) at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:501) at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:397) at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:137) at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:339) at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:764) at sempp.lsl.hadoop.hdfs.HdfsUtil.downloadFromHdfs(HdfsUtil.java:23) at sempp.lsl.hadoop.hdfs.HdfsUtil.main(HdfsUtil.java:13)</span>
错误的文件系统,但集群中实际是存在这个文件的,为什么找不到呢?原因是FileSystem没有真正拿到HDFS文件系统的实例对象,它不认识“hdfs://sempplsl-01:9000”这个信息,解决方法是将core-site.xml中配置的fs.defaultFS添加到代码的conf中。添加后执行成功。
0 0
- HDFS 的Java操作“ Wrong FS: hdfs://xxx, expected: file:///”
- Wrong FS: hdfs:/ expected: file:///
- Wrong FS: hdfs:, expected:file:///
- Wrong FS: hdfs://******, expected: file:///
- Wrong FS: hdfs expected: file:
- Hadoop HDFS Wrong FS: hdfs:/ expected file:///
- java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
- Hbase java.lang.IllegalArgumentException: Wrong FS file://......expected:hdfs://...
- java读hdfs上文件报错:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
- Hadoop使用java查询HDFS 错误:Wrong FS: hdfs://localhost:9000/user/hadoop, expected: file:///
- hadoop dfs 保错.IllegalArgumentException: Wrong FS: hdfs://XXX:9000, expected: file:///
- Debugging “Wrong FS expected: file:///” exception from HDFS
- Hadoop Problem : Wrong FS: hdfs://localhost:9000/output, expected: file:///
- Wrong FS: hdfs://localhost:9000/user/... expected: file:///
- Wrong FS: hdfs://localhost:9000/home/hadoop/hadoop, expected: file:///
- Wrong FS: hdfs://localhost:9000/input, expected: file:///
- hadoop运行报错Wrong FS: hdfs:/, expected: file:///
- Wrong FS: hdfs://localhost:9000/user/... expected: file:///
- Ubuntu 16.04 运行级别
- 关于微信 openid api unauthorized 错误分析
- git的安装和使用
- lua函数详解
- maven POM.xml配置文件 所有标签详解
- HDFS 的Java操作“ Wrong FS: hdfs://xxx, expected: file:///”
- JAVA基础--TCP编程
- JAVA001对象导论02
- Java——基本语法(二)变量,常量,运算符,表达式
- acm英文题目
- Postgresql源码安装
- TPS和QPS区别
- js 函数定义,使用,作用域,变量声明提升,遇解析.....
- I/O复用------epoll