Java访问HDFS集群Java语句以及 Linux操作HDFS集群常用命令

构建Configuration对象,读取并解析相关配置文件

  Configuration conf=new Configuration();

设置相关属性

  conf.set("fs.defaultFS", "hdfs://172.16.0.100:9000/");

获取特定文件系统实例fs(以HDFS文件系统实例)

  FileSystem fs=FileSystem.get(new URI("hdfs://host1:9000"),conf,"hdfs");

通过文件系统实例fs进行文件操作(以删除文件实例)

  fs.delete(new Path("/user/niuhy/someWords.txt"));

运行jar文件

  hadoop jar hdfs.jar com.hdfs.UpFile 

~只在Linux中使用,在Java中识别为:/home/briup/

IP地址  网络中唯一

  127.0.0.1    localhost

  不联网的情况下,也可以编写网络程序

hdfs dfs -rm /path  fs.delete(new Path(path));  //删除文件

hdfs dfs -cat /path  //查看文件

  •   FSDataInputStream fis=fs.open(new Path(path));
  •   IOUtils.copyBytes(fis, System.out, 1024, true);

fs.copyToLocalFile(new Path(虚拟机上的目标目录), new Path(hdfs集群中的文件));  //从hdfs集群上下载文件

hdfs dfs -put 原文件 hdfs中的目标文件  //上传文件到hdfs集群上

  •   fs.copyFromLocalFile(new Path(hdfs中的目标目录), new Path(原文件));

hdfs dfs -ls /path  //输出文件下目录

RemoteIterator<LocatedFileStatus> fis = fs.listFiles(new Path("/sb"), true);
        System.out.println("-----*****-----");
        while(fis.hasNext()){
            LocatedFileStatus locals = fis.next();
            Path fullpath = locals.getPath();
            System.out.println(fullpath);
        }
原文地址:https://www.cnblogs.com/qiangang/p/13671595.html