HDFS常用文件操作命令汇总
Posted 小码农叔叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS常用文件操作命令汇总相关的知识,希望对你有一定的参考价值。
前言
掌握常用的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界面:
以上是关于HDFS常用文件操作命令汇总的主要内容,如果未能解决你的问题,请参考以下文章