创建文件夹
在根目录下创建tph文件夹
hadoop fs -mkdir /tph
在创建子目录的同时创建上级目录
hadoop fs -mkdir -p /tph2/tph2_1
查看HDFS目录
查看根目录下的文件和目录
hadoop fs -ls /
[root@node1 ~]# hadoop fs -ls /
Found 34 items
-rw-r--r-- 3 root supergroup 31 2021-08-21 11:48 /a.txt
drwxr-xr-x - root supergroup 0 2021-09-07 21:53 /benchmarks
-rw-r--r-- 3 root supergroup 17 2021-08-27 21:35 /countonce.txt
drwxr-xr-x - root supergroup 0 2021-07-20 15:19 /external-data
返回的结果:
第一列显示的是文件模式
第二列显示的是这个文件的备份数
由于在文件系统范围内设置的默认复本数为3,所以这里显示的都是3。这一列的第二个为空,因为本例中没有使用复本的概念——目录作为元数据保存在namenode中,而非datanode中。
第三列和第四列分别显示的是文件的所属用户和组别
第五列显示的是文件的大小,以字节为单位,目录为0。
第六列和第七列显示的是文件的最后修改日期与时间。
第八列显示的是文件或目录的绝对路径。
递归显示文件夹下的所有文件/目录
递归显示根目录下的所有文件和目录
hadoop fs -ls -R /
上传文件
hadoop fs -put 文件到HDFS目录
[root@node1 ~]# vim tph.txt
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# hadoop fs -put tph.txt /tph
[root@node1 ~]# hadoop fs -ls /tph
Found 1 items
-rw-r--r-- 3 root supergroup 10 2021-11-26 21:34 /tph/tph.txt
下载文件
方法一:
hadoop fs get HDFS文件 本地文件(文件没有,会自动创建)
hadoop fs -get /tph/tph.txt tph_ceshi2.txt
21/11/26 21:44:47 WARN hdfs.DFSClient: DFSInputStream has been closed already
忽略WARN hdfs.DFSClient: DFSInputStream has been closed already
方法二:
hadoop fs -copyToLocal /tph/tph.txt(HDFS文件) tph_ceshi2.txt(本地文件)
合并下载
hadoop fs -getmerge HDFS文件1 HDFS文件2 本地文件
[root@node1 ~]# hadoop fs -getmerge /tph/tph.txt /tph/tph.txt tph3.txt
You have new mail in /var/spool/mail/root
[root@node1 ~]# cat tph3.txt
hello!tph
hello!tph
复制文件
hadoop fs -cp 原路径 目标路径(从HDFS的一个路径复制到HDFS的另一个路径)
[root@node1 ~]# hadoop fs -cp /tph/tph.txt /tph2/
21/11/26 22:17:59 WARN hdfs.DFSClient: DFSInputStream has been closed already
[root@node1 ~]# hadoop fs ls /tph2
ls: Unknown command
Did you mean -ls? This command begins with a dash.
[root@node1 ~]# hadoop fs -ls /tph2
Found 2 items
-rw-r--r-- 3 root supergroup 10 2021-11-26 22:17 /tph2/tph.txt
drwxr-xr-x - root supergroup 0 2021-11-26 20:56 /tph2/tph2_1
移动文件
在HDFS中移动文件
hadoop fs -mv /tph/tph.txt /
删除操作
删除文件
hadoop fs -rm 要删除的文件
hadoop fs -rm /tph/tph.txt
删除空文件夹
hadoop fs rmdir /tph
删除非空文件夹
hadoop fs -rm -r -skipTrash /folder_name(非空文件夹)
从本地剪切文件到HDFS上
hadoop fs -moveFromLocal a.txt /tph/
查看文件内容
hadoop fs -cat /tph/a.txt
改变文件所属组
hadoop fs -chgrp [-R] 目标用户组 文件/目录路径
hadoop fs -chgrp hadoopgroup /tph/data
改变文件权限
hadoop fs -chmod [-R] 权限模式 文件/目录路径
hadoop fs -chmod 777 /opt/plus.txt
改变文件拥有者
hadoop fs -chown [-R] 拥有者:所属组 文件/目录路径