1、创建一个Maven工程HdfsClientDemo
2、在该项目的pom.xml文件中添加以下代码:导入相应的依赖坐标+日志添加
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
3、在java下创建了cn.itcast.hdfs包,在目录下新建了Java文件
4、实现对HDFS的操作
package cn.itcast.hdfs;
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class TestHDFS {
public static void main(String[] args) throws Exception {
Configuration conf=new Configuration();
conf.set("fs.defaultFS","hdfs://192.168.71.133:9000");
System.setProperty("HADOOP_USER_NAME","root"); //设置用户身份,以root用户,否者没有权限
FileSystem fs =FileSystem.get(conf);
fs.create(new Path("/helloByJava"));
fs.close();
}
}
注:主要是在conf.set里要将文件类型设置为Hdfs文件类型,然后以root身份执行。
执行后在终端可见新建了helloByJava文件
注:本人搭建的完全的分布式,但是开启了3个centos后,内存爆增,主要是安装的时候选择的全部组件,建议安装mini系统