Hadoop hdfs dfs命令 最常见经常使用的命令 入门推荐

1.常用命令

下列的hdfs命令,都是在实际工作中经常会用到的,如果要看全部的命令可以直接使用hdfs dfs,会显示所有的命令。使用hdfs dfs -help能够查看每个命令的使用方法

(1)help hdfs命令帮助

hdfs dfs -help

(2)ls 查看hdfs目录下内容

命令格式:

hdfs dfs -ls [文件目录]

hdfs dfs -ls /

结果:

drwxr-xr-x - hdfs hdfs 0 2020-11-04 11:36 /HiBench
drwxrwxrwt - yarn hadoop 0 2020-11-09 20:03 /app-logs
drwxr-xr-x - hdfs hdfs 0 2020-11-10 21:46 /apps
drwxr-xr-x - yarn hadoop 0 2020-11-02 11:26 /ats
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /atsv2
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /hdp
drwxr-xr-x - mapred hdfs 0 2020-11-02 11:27 /mapred
drwxrwxrwx - mapred hadoop 0 2020-11-02 11:28 /mr-history
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /services
drwxrwxrwx - spark hadoop 0 2020-11-12 10:02 /spark2-history
drwxrwxrwx - hdfs hdfs 0 2020-11-09 21:57 /tmp
drwxrwxrwx - hdfs hdfs 0 2020-11-10 21:46 /user
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:28 /warehouse

 

(3)cat 查看hdfs文件

命令格式:

hdfs dfs -cat [file_path]

hdfs dfs -cat /tmp/test.txt

(4)put 将本地文件或者目录上传至hdfs

命令格式:

hdfs dfs -put [本地地址] [hdfs目录]

hdfs dfs -put ./ad-to-campaign-ids.txt /
[hdfs@server1 ~]$ hdfs dfs -ls /
Found 14 items
drwxr-xr-x - hdfs hdfs 0 2020-11-04 11:36 /HiBench
-rw-r--r-- 3 hdfs hdfs 80000 2020-11-21 16:55 /ad-to-campaign-ids.txt
drwxrwxrwt - yarn hadoop 0 2020-11-09 20:03 /app-logs
drwxr-xr-x - hdfs hdfs 0 2020-11-10 21:46 /apps
drwxr-xr-x - yarn hadoop 0 2020-11-02 11:26 /ats
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /atsv2
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /hdp
drwxr-xr-x - mapred hdfs 0 2020-11-02 11:27 /mapred
drwxrwxrwx - mapred hadoop 0 2020-11-02 11:28 /mr-history
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:27 /services
drwxrwxrwx - spark hadoop 0 2020-11-12 10:02 /spark2-history
drwxrwxrwx - hdfs hdfs 0 2020-11-09 21:57 /tmp
drwxrwxrwx - hdfs hdfs 0 2020-11-10 21:46 /user
drwxr-xr-x - hdfs hdfs 0 2020-11-02 11:28 /warehouse

(5)get 将hdfs上的文件或者目录拷贝至本地目录下

命令格式:

hdfs dfs -get [文件目录] [本地目录]

hdfs dfs -get /ad-to-campaign-ids.txt ./

(6)rm 删除hdfs上的文件

命令格式:

hdfs dfs -rm [文件地址]

hdfs dfs -rm /ad-to-campaign-ids.txt

信息:

20/11/21 16:58:04 INFO fs.TrashPolicyDefault: 
Moved: 'hdfs://server1:8020/ad-to-campaign-ids.txt' to 
trash at: hdfs://server1:8020/user/hdfs/.Trash/Current/ad-to-campaign-ids.txt

Hadoop回收站trash机制,默认会将rm删除的文件或者目录存放到/user/hdfs/.Trash/中。

参数:fs.trash.interval

删除系统垃圾间隔参数

默认设置为1440,即1天,也就是说删除的文件需要一天才能被删掉。如果空间内存不足,可以删除/user/hdfs/.Trash/这个目录

或者使用-skipTrash参数,直接删除,不存放到回收站中

hdfs dfs -rm  -skipTrash /ad-to-campaign-ids.txt

(7)rmr 删除hdfs上指定文件夹(包含子目录等)

命令格式:

hdfs dfs -rm -r [文件地址]

hdfs dfs -rm -r /user/hdfs/.Trash/

(8)mkdir 在hdfs创建目录

命令格式:

hdfs dfs -mkdir [目录]

hdfs dfs -mkdir /user/test

# 创建多级目录

hdfs dfs -mkdir -p /user/test1/test1

(9)touchz 在hdfs新建文件

命令格式:

hdfs dfs -touchz [目录+文件名]

hdfs dfs -touchz /user/test.txt

(10)mv 将hdfs上某个文件重命名和移动

命令格式:

hdfs dfs -mv [文件] [新的目录]

# 文件重命名

hdfs dfs -mv [文件] [新文件]

hdfs dfs -mv /ad-to-campaign-ids.txt /user

hdfs dfs -mv /user/ad-to-campaign-ids.txt /user/ad-to-campaign-ids_1.txt

(将ad-to-campaign-ids.txt重命名为ad-to-campaign-ids_1.txt)

(11)cp 在hdfs上文件复制

命令格式:

hdfs dfs -cp [文件] [新的目录]

hdfs dfs -cp /ad-to-campaign-ids.txt /user/ad-to-campaign-ids.txt

(12)chmod 在hdfs上设置文件或者目录的rwx权限

命令格式:

hdfs dfs -chmod [权限] [文件或目录]

# 对目录下的所有文件设置权限 -R

hdfs dfs -chmod -R [权限] [文件或目录]

hdfs dfs -chmod 777 /user/ad-to-campaign-ids.txt

hdfs dfs -chmod -R 777 /user/test/

结果

-rwxrwxrwx 3 hdfs hdfs 80000 2020-11-21 18:14 /user/ad-to-campaign-ids.txt
-rw-r--r-- 3 hdfs hdfs 80000 2020-11-21 17:56 /user/ad-to-campaign-ids_1.txt
drwxrwx--- - ambari-qa hdfs 0 2020-11-02 11:26 /user/ambari-qa
drwxr-xr-x - hbase hdfs 0 2020-11-10 21:46 /user/hbase
drwxr-xr-x - hdfs hdfs 0 2020-11-04 16:15 /user/hdfs
drwxr-xr-x - hive hdfs 0 2020-11-09 20:33 /user/hive
drwxr-xr-x - root hdfs 0 2020-11-09 21:40 /user/root
drwxrwxr-x - spark hdfs 0 2020-11-03 21:33 /user/spark
drwxrwx--- - yarn-ats hadoop 0 2020-11-02 11:27 /user/yarn-ats

(13)chown 在hdfs上设置文件或者目录的所属用户和所属组

命令格式:

hdfs dfs -chown  用户:组  [文件或目录]

# 对目录下的所有文件设置权限 -R

hdfs dfs -chown -R 用户:组  [文件或目录]

hdfs dfs -chown root:root /user/ad-to-campaign-ids.txt
[hdfs@server1 ~]$ hdfs dfs -ls /user
Found 9 items
-rwxrwxrwx 3 root root 80000 2020-11-21 18:14 /user/ad-to-campaign-ids.txt
-rw-r--r-- 3 hdfs hdfs 80000 2020-11-21 17:56 /user/ad-to-campaign-ids_1.txt
drwxrwx--- - ambari-qa hdfs 0 2020-11-02 11:26 /user/ambari-qa
drwxr-xr-x - hbase hdfs 0 2020-11-10 21:46 /user/hbase
drwxr-xr-x - hdfs hdfs 0 2020-11-04 16:15 /user/hdfs
drwxr-xr-x - hive hdfs 0 2020-11-09 20:33 /user/hive
drwxr-xr-x - root hdfs 0 2020-11-09 21:40 /user/root
drwxrwxr-x - spark hdfs 0 2020-11-03 21:33 /user/spark
drwxrwx--- - yarn-ats hadoop 0 2020-11-02 11:27 /user/yarn-ats

(14) df 统计hdfs的空间大小

命令格式:

-h:转换成的单位用户方便阅读

hdfs dfs -df -h [目录]

hdfs dfs -df -h /

注意:

hdfs dfs -du -h /* 这个命令会有问题:No such file or directory

[hdfs@server1 ~]$ hdfs dfs -df -h /
Filesystem Size Used Available Use%
hdfs://server1:8020 114.5 T 21.9 T 92.6 T 19%

(15) du 统计hdfs路径下的每个文件或者目录的大小

命令格式:

hdfs dfs -du  [文件或目录]

# 统计所有文件和大小

hdfs dfs -du -s  [文件或目录]

# 统计所有文件和大小,文件

hdfs dfs -du -s -h [文件或目录]

hdfs dfs -du -s -h /

[hdfs@server1 ~]$ hdfs dfs -du -s -h /
7.2 T 21.7 T /

猜你喜欢

转载自blog.csdn.net/qq_35260875/article/details/109984224