HDFS的Java操作

实验环境:

Windows 10

Eclipse Mars.2 Release (4.5.2) 

CentOS 7

Hadoop-2.7.3

先决条件:

  1) Windows上各环境变量已配置OK.  如: PATH, HADOOP_HOME;

      2) 与Hadoop版本及Windows平台(x86或x64)对应的 hadoop.dll, winutils.exe工具已配置OK.

 

1.新建Java项目,如图:

 

 

2.导入外部JAR包,即HDFS jar包:

 

3.Java代码:

 

package hdfsutil;



import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;



public class HdfsUtil {
    public static void main(String[] args) throws Exception {
        
        //构造一个配置参数的封装对象
        Configuration conf = new Configuration();
        //conf中会有一个参数: fs.defaultFS的默认值是file:/// 指本地文件系统URI
//        conf.set("fs.defaultFS", "hdfs://192.168.80.128:9000");
        
        //构造一个HDFS的客户端
//        FileSystem fs = FileSystem.get(conf);
        
        FileSystem  fs = FileSystem.get(new URI("hdfs://192.168.80.128:9000"), conf, "hadoop");
        
        //用hdfs的文件系统的客户端对象fs来操作文件,比如上传一个文件
        fs.copyFromLocalFile(new Path("C:/file.txt"), new Path("/user/hadoop/input/file.txt.4"));
        
        //上传完毕后,关闭客户端
        fs.close();
    }
}

 

posted @ 2016-12-03 20:54  xiaorong1115  阅读(253)  评论(0编辑  收藏  举报