1、Code -> GitHub
https://github.com/liufengji/hadoop_hdfs.git
2、方法一
import static org.junit.Assert.*;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.BlockLocation;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.NewAppWeightBooster;
import org.junit.Test;
import sun.nio.ch.Net;
//HDFS 获取文件系统
@Test
public void initHDFS() throws Exception {
//1. 创建对象
Configuration configuretion = new Configuration();
//2. 设置参数
configuretion.set("fs.defaultFS","hdfs://node1:9000");
configuretion.set("dfs.replication", "3");
//3 获取文件系统
FileSystem fs = FileSystem.get(configuretion);
//4 打印
System.out.println(fs.toString());
}
3、方法二
(1) 首先src根目录下创建 core-site.xml ,配置信息如下
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.8.2/data/tmp</value>
</property>
</configuration>
(2) 不用配置参数了,默认读取core-site.xml 信息
//HDFS 获取文件系统
@Test
public void initHDFS() throws Exception {
//1. 创建对象
Configuration configuretion = new Configuration();
//2 获取文件系统
FileSystem fs = FileSystem.get(configuretion);
//3 打印
System.out.println(fs.toString());
}