Appearance
HDFS是一个分布式文件系统,是一个高度容错性的系统,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
-ls:查询指定路径信息
首先看第一个ls命令,查看hdfs根目录下的内容,什么都不显示,因为默认情况下hdfs中什么都没有
shell
[root@bigdata01 ~]# hdfs dfs -ls hdfs://bigdata01:9000/
[root@bigdata01 ~]#
其实后面hdfs的url这一串内容在使用时默认是可以省略的,因为hdfs在执行的时候会根据HDOOP_HOME自动识别配置文件中的fs.defaultFS
属性,所以这样简写也是可以的:
shell
[root@bigdata01 ~]# hdfs dfs -ls /
-put:从本地上传文件
接下来我们向hdfs中上传一个文件,使用Hadoop中的README.txt,直接上传到hdfs的根目录即可
shell
[root@bigdata01 ~]# cd /usr/local/soft/hadoop/hadoop-3.2.3
[root@bigdata01 hadoop-3.2.3]# hdfs dfs -put README.txt /
[root@bigdata01 mail]# hdfs dfs -ls /
Found 1 items
-rw-r--r-- 1 root supergroup 1361 2022-10-11 18:36 /README.txt
-get:下载文件到本地
shell
[root@bigdata01 hadoop]# ls
hadoop-3.2.3 hadoop-3.2.3.tar.gz
[root@bigdata01 hadoop]# hdfs dfs -get /README.txt
[root@bigdata01 hadoop]# ls
hadoop-3.2.3 hadoop-3.2.3.tar.gz README.txt
-cat:查看文件内容
shell
[root@bigdata01 hadoop]# hdfs dfs -cat /README.txt
-mkdir:创建文件夹
shell
[root@bigdata01 hadoop]# hdfs dfs -mkdir /test
[root@bigdata01 hadoop]# hdfs dfs -ls /
Found 2 items
-rw-r--r-- 1 root supergroup 1361 2022-10-11 18:36 /README.txt
drwxr-xr-x - root supergroup 0 2022-10-11 18:51 /test
-rm [-r]:删除文件/文件夹,加上-r递归删除目录
shell
[root@bigdata01 hadoop]# hdfs dfs -rm -r /test
灵活使用——统计HDFS中文件的个数和每个文件的大小
HDFS命令配合Linux命令能够完成一些高级操作,Linux高级命令参考
shell
[root@bigdata01 hadoop]# hdfs dfs -ls / |grep / | wc -l #统计文件数量
[root@bigdata01 hadoop]# hdfs dfs -ls / |grep / | awk '{print $8,$5}' #统计每个文件的大小