一、学习目标
1.Hadoop 运行环境搭建
2.掌握HDFS基本文件操作命令
3.掌握用java实现HDFS文件读写
二、HDFS机制
1.HDFS副本机制
命令:
(1)创建文件夹
hdfs dfs -mkdir /demo
(2)传一个文件到hedoop里面的demo文件夹里面去
hdfs dfs -put 文件名 /路径/新文件名(新文件名可不写)
(3 )删除一个文件(注意文件不能覆盖,只能删除之后再上传)
hdfs dfs -rm -f /路径/文件名
(4)查看文件内容
hdfs dfs -cat /路径/文件名
(5)下载文件到本地
hdfs dfs -get /路径/文件名
(6)统计目录文件大小
hdfs dfs -du /路径/文件名
(7)授权
hdfs dfs -chmod 777 /文件夹名(文件名) --777是一种权限
三、HDFS 客户端文件读入写入
1、导入依赖
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.6.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
public static void main( String[] args ) throws Exception {
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.64.10:9000"),new Configuration());
// 拷贝文件到本地 一
// InputStream is = fs.open(new Path("/logs/log01"));
// OutputStream os = new FileOutputStream("d:/abc.log");
// IOUtils.copyBytes(is,os,4096,true);
//拷贝文件到本地 二
// fs.copyToLocalFile(false,new Path("/logs/log01"),new Path("d:/aaa.log"),true);
// 上传文件 上传前需要查看是否拥有权限
fs.copyFromLocalFile(new Path("d:/abc.log"),new Path("/logs/"));
}