import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Before;
import org.junit.Test;
public class HdfsClient {
/* 上传 */
public static void main(String[] args) throws Exception {
// Configuration参数对象构造时,会加载jar包中的默认配置 xx-default.xml,再加载用户配置xx-site.xml,覆盖掉默认参数
Configuration conf = new Configuration();
// 指定上传时需要保存的副本数
conf.set("dfs.replication", "2");
// 指定本客户端切块时的规格大小
conf.set("dfs.blocksize", "64m");
// 构造一个访问指定HDFS系统的客户端对象:
// 参数1:——HDFS系统的URI,参数2:——客户端要特别指定的参数,参数3:——客户端的身份(用户名)
FileSystem fs = FileSystem.get(new URI("hdfs://hadoop1:9000/"), conf, "root");
//上传一个文件到HDFS中
fs.copyFromLocalFile(new Path("H:/hadoop_package/hadoop-tar/mysql-connector-java-5.1.5-bin.jar"), new Path("/"));
fs.close();
}
/* 初始化 */
FileSystem fs = null;
@Before
public void init() throws Exception {
Configuration conf = new Configuration();
conf.set("dfs.replication", "2");
conf.set("dfs.blocksize", "64m");
fs.get(new URI("hdfs://hadoop1:9000/"), conf, "root");
}
/* 下载 */
@Test
public void testDown() throws Exception {
fs.copyToLocalFile(new Path("/log.txt"), new Path("f:/"));
fs.close();
}
}
02使用api上传下载
最新推荐文章于 2024-05-12 07:02:44 发布