目录
- HDFS介绍
- HDFS基础操作
- Java操作HDFS
HDFS介绍
- HDFS 是一种允许文件通过网络在多台主机上分享的文件系统,可以让多台机器上的多个用户分享文件和存储空间。
- 分布式文件管理系统有很多,HDFS 只是其中一种实现
- 注意:HDFS 不适合存储小文件(几KB或几M的小文件)
HDFS基础操作
-
操作格式
hdfs dfs -xxx schema: // authority / path
-xxx : 命令(读、写、创建、查看等)
schema :hdfs
authority :地址+端口(bigdata01:9000)
path :路径 -
上传文件
# 上传 NOTICE.txt 文件至根路径
hdfs dfs -put NOTICE.txt hdfs://bigdata01:9000/
- 查看指定路径信息
# 查看根目录下信息
hdfs dfs -ls hdfs://bigdata01:9000/
# 查看根目录多级文件及目录信息
hdfs dfs -ls -R hdfs://bigdata01:9000/
4. 查看 HDFS 文件内容
# 查看 NOTICE.txt 文件内容
hdfs dfs -cat hdfs://bigdata01:9000/NOTICE.txt
- 下载文件到本地
# 下载 NOTICE.txt 文件至本地当前目录下
hdfs dfs -get hdfs://bigdata01:9000/NOTICE.txt .
# 下载 NOTICE.txt 文件至本地上一层目录下
hdfs dfs -get hdfs://bigdata01:9000/NOTICE.txt ../
# 下载 NOTICE.txt 文件至本地当前目录下并指定新文件名
hdfs dfs -get hdfs://bigdata01:9000/NOTICE.txt NOTICE.txt.bak
6. 创建目录
# 在根目录下创建 test 目录
hdfs dfs -mkdir hdfs://bigdata01:9000/test
# 递归创建多级目录
hdfs dfs -mkdir -p hdfs://bigdata01:9000/abc/xyz
- 删除文件及目录
# 删除 NOTICE.txt 文件
hdfs dfs -rm hdfs://bigdata01:9000/NOTICE.txt
# 删除 NOTICE.txt 文件
hdfs dfs -rm -r hdfs://bigdata01:9000/abc
8. 统计目录下文件数量
# 统计根目录下文件数量
hdfs dfs -ls hdfs://bigdata01:9000/
9. 统计目录下文件大小
# 统计根目录下文件大小
hdfs dfs -ls hdfs://bigdata01:9000/ | grep / | awk -F ' ' '{print $8,$5}'
Java操作HDFS
- 由于操作 HDFS 会进行用户验证,配置不进行验证
# 停止服务
stop-all.sh