HDFS常用文件操作命令汇总

x33g5p2x  于2022-02-12 转载在 HDFS  
字(1.7k)|赞(0)|评价(0)|浏览(802)

前言

掌握常用的hdfs文件操作命令是考验对hadoop集群运维的基本功,可以说是必须掌握的基础技能,本篇将常用的hdfs文件操作命令做一些汇总,方便日后快速查询备用

下面以具体的命令操作演示下常用HDFS文件操作命令的效果

环境准备

  • 确认hadoop服务已经开启可以正常使用
  • 确保 9870端口的web界面可以访问,方便查看效果
  • hadoop3.X之后,不推荐 以 hadoop fs 这样的操作命令,而是以 hdfs dfs 开头的命令

1、创建文件夹
hdfs dfs -mkdir 文件夹目录名称 【也可以 hadoop fs -mkdir 文件夹目录名称,不推荐】

hdfs dfs -mkdir /sanguo

2、上传文件到指定目录【剪贴】
hdfs dfs -moveFromLocal 本地文件存储路径 hdfs文件目录

在指定的目录下创建一个txt文件,比如我这里创建一个 yingxiong.txt文件

hdfs dfs -moveFromLocal ./yingxiong.txt /sanguo

执行成功后,到web界面上可以查看下上传的文件

但是move的话,上传到hdfs之后,本地的文件就删除了,可以看到yingxiong.txt已经没了

2、上传文件到指定目录【复制】

与moveFromLocal 对应的文件上传命令,只是复制,就可以使用 copyFromLocal
hdfs dfs -copyFromLocal 本地文件存储路径 hdfs文件目录

hdfs dfs -copyFromLocal    ./zhugong.txt /sanguo

3、上传文件到指定目录【复制】

与moveFromLocal 对应的文件上传命令类似的还有一个 put 命令,用法类似

hdfs dfs -put ./zhugong.txt /sanguo

4、文件内容追加

追加一个文件到已经存在的文件末尾

hdfs dfs -appendToFile ./yingxiong1.txt /sanguo/yingxiong.txt

这时去web页面上观察yingxong.txt文件内容

5、从hdfs下载文件到本地

hdfs dfs -copyToLocal /sanguo/zhugong.txt ./

文件下载,也可以使用get命令,生产环境更习惯用get,使用更简单

hdfs dfs -get/sanguo/zhugong.txt ./

6、查看文件目录下的文件信息

这个和linux命令的查看目录文件类似

hdfs dfs -ls /sanguo

6、查看文件内容

hdfs dfs -cat /sanguo/zhugong.txt

7、将文件从hdfs 的一个路径拷贝到另一个路径

使用创建文件命令创建二个新的文件夹,如 /suguo /wuguo ,然后将 /sanguo/zhugong.txt分别拷贝到这两个目录下

hdfs dfs -cp /sanguo/zhugong.txt /suguo

8、将文件从hdfs 的一个路径移动到另一个路径

hdfs dfs -mv /sanguo/yingxiong.txt /wuguo

9、显示一个文件的末尾1kb的数据

这个和linux下查看日志前N行内容有点类似

hdfs dfs -tail /wuguo/yingxiong.txt

10、删除文件夹内的文件

hdfs dfs -rm /wuguo/yingxiong.txt

11、递归删除文件目录以及里面的文件

hdfs dfs -rm -r /suguo

12、统计文件目录大小

使用这个命令可以计算hdfs某个文件目录的大小

hdfs dfs -du -h /sanguo

这个结果从web界面也能一目了然,3个副本,每个副本大小是21B,一共63B

13、设置文件的副本数量

默认情况下,如果在配置文件中不做配置的话,副本数默认为3个,有时候并不需要那么多的时候,可以手动设置这个参数值

hdfs dfs -setrep 2 /sanguo/zhugong.txt

14、修改文件所属权限

和 linux 中的 -chgrp、-chmod、-chown 类似,比如给某用户设置对文件的操作权限为 读写,或者只读

hdfs dfs -chmod 666  /sanguo/zhugong.txt

设置之前:

执行上面的命令:

再次观察web界面:

相关文章