hdfs连接、上传文件、下载文件的操作
package com.sxuek;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
import java.net.URI; // 是net包下的URI
import java.net.URISyntaxException;
/*
操作HDFS
*/
public class Demo {
public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
// 1.创建一个HDFS的连接配置对象 -- 指定本地里连接的参数
// 参数是hdfs-site.xml中配置的参数
Configuration conf = new Configuration();
// 设置配置项 -- hdfs的地址
// conf.set("fs.defaultFS", "hdfs://192.168.200.225:9000");
// 在该目录下C:\Windows\System32\drivers\etc,添加ip--名 即可写下面的了
// conf.set("fs.defaultFS", "hdfs://node1:9000");
// 设置块的大小
// 在代码中的配置的参数优先级高于我们Hadoop软件安装的时候配置的参数
// conf.set("dfs.blocksize", "104857600");
// 连接文件系统
// uri:hdfs地址 conf:配置
FileSystem fileSystem = FileSystem.get(new URI("hdfs://node1:9000"), conf, "root");
// 上传文件 并且不能删除本地文件
// fileSystem.copyFromLocalFile(false, new Path("G:\\shixun\\hadoop-2.8.5.tar.gz"), new Path("/"));
// System.out.println("上传完成!");
// 下载文件 从hdfs上下载文件
fileSystem.copyToLocalFile(false, new Path("/hadoop-2.8.5.tar.gz"), new Path("G://"));
System.out.println("下载完成!");
System.out.println(fileSystem);
}
}
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16500562.html