Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)是Hadoop框架的核心组件之一,它提供了高可靠性、高可用性和高吞吐量的大规模数据存储和管理能力。
搭建Hadoop集群后,启动Hadoop集群,在本机浏览器的地址栏输入“http://192.168.128.130:9870”并按Enter键即可访问HDFS监控服务端口。点击网页中的“Utilities”,下拉框选“Browse the file system”可访问HDFS上的目录及文件。
通过hdfs dfs命令可以完成对HDFS目录及文件的管理,例如创建、删除目录,文件上传、下载、查看、删除等。
1、创建目录
hdfs dfs -mkdir filename
如:
hdfs dfs -mkdir aa
hdfs dfs -mkdir /bb/b
报错:mkdir: `/bb/b': No such file or directory
b目录的父目录bb不存在,所以报错,使用-p则可以同时创建多级目录
hdfs dfs -mkdir -p /bb/b
2、上传文件
(1)hdfs dfs -copyFromLocal localSrc hdfsSrc
localSrc:本地文件路径
hdfsSrc:目标路径
如:
使用touch命令创建test.txt,将test.txt上传至HDFS中的/aa目录下
hdfs dfs -copyFromLocal test.txt /aa
(2)hdfs dfs -moveFromLocal localSrc hdfsSrc
localSrc:本地文件路径
hdfsSrc:目标路径
操作后本地文件将被删除
如:
使用touch命令创建test1.txt,将test1.txt上传至HDFS中的/aa目录下
hdfs dfs -moveFromLocal test1.txt /aa
(3)hdfs dfs -put localSrc hdfsSrc
localSrc:本地文件路径
hdfsSrc:目标路径
如:
使用touch命令创建test2.txt,将test2.txt上传至HDFS中的/aa目录下
hdfs dfs -put test2.txt /aa
3、下载文件
(1)hdfs dfs -copyToLocal hdfsSrc localSrc
hdfsSrc:HDFS路径
localSrc:本地文件路径
如:
将HDFS中的/aa目录下test.txt文件下载至本地/data目录下
hdfs dfs -copyToLocal /aa/test.txt /data
(2)hdfs dfs -get hdfsSrc localSrc
hdfsSrc:HDFS路径
localSrc:本地文件路径
如:
将HDFS中的/aa目录下test1.txt文件下载至本地/data目录下
hdfs dfs -get /aa/test1.txt /data
4、查看文件
(1)hdfs dfs -ls
查看hdfs目录下文件信息
如:
查看/aa目录下文件信息
(2)hdfs dfs -cat
查看HDFS上文件内容
如:
查看/aa/test.txt文件中内容
hdfs dfs -cat /aa/test.txt
(3)hdfs dfs -tail
查看HDFS上文件最后1024B的内容
如:
查看/aa/test.txt文件最后1024B的内容
hdfs dfs -tail /aa/test.txt
5、删除文件或目录
(1)hdfs dfs -rm hdfsSrc
hdfsSrc:文件路径
如:
删除HDFS上/aa/test.txt
hdfs dfs -rm /aa/test.txt
(2)hdfs dfs -rmdir hdfsSrc
hdfsSrc:目录路径
如:
删除HDFS上/aa/dir
hdfs dfs -rmdir /aa/dir
删除非空目录使用命令:hdfs dfs -rm -r <目录路径>
如:
删除HDFS上/aa目录
hdfs dfs -rm -r /aa