HDFS Shell 操作


HDFS Shell 操作

HDFS Shell 命令行格式
  • 格式一:hadoop fs –命令名 参数
  • 格式二:hdfs dfs –命令名 参数
HDFS 常用命令及参数
  • ls:查看 hdfs 中的目录信息
[root@node-01 ~]# hadoop fs -ls /
  • put或copyFromLocal:将本地文件上传到 hdfs 中
[root@node-01 ~]# hadoop fs -put hdp.test01 /
#或者
[root@node-01 ~]# hadoop fs -copyFromLocal master.log /
  • moveFromLocal:将本地文件移动到 hdfs 中
[root@node-01 ~]# hadoop fs -moveFromLocal master.log /
  • get或copyToLocal:从 hdfs 下载文件到本地
[root@node-01 ~]# hadoop fs -get /install.log ./
#或者
[root@node-01 ~]# hadoop fs -copyToLocal /install.log ./
  • moveToLocal:将 hdfs 文件移动到本地中
  [root@node-01 ~]# hadoop fs -moveToLocal /install.log ./
  • mkdir:在 hdfs 上创建文件夹
 [root@node-01 ~]# hadoop fs -mkdir /test
  • mv:移动 hdfs 中的文件(或更名)
[root@node-01 ~]# hadoop fs -mv /install.log /test/install01.log
  • rm:删除 hdfs 文件( -r 删除文件夹)
[root@node-01 ~]# hadoop fs -rm -r /test
  • rmdir:删除 hdfs 空目录
[root@node-01 ~]# hadoop fs -rmdir /test
  • cat或tail:查看 hdfs 文件内容
[root@node-01 ~]# hadoop fs -cat /master.log
#或者
[root@node-01 ~]# hadoop fs -tail -f /master.log
  • appendToFile:追加内容到 hdfs 文件中
[root@node-01 ~]# hadoop fs -appendToFile hello.log /install.log
  • chown:修改 hdfs 文件权限(hdfs没有真正权限模块,可以修改为任何用户名或组群)
[root@node-01 ~]# hadoop fs -chown binge:bingegroup /master.log

# 修改 hdfs 文件权限(WebUI即可操作HDFS文件)
[root@node-01 ~]# hadoop fs -chmod -R 777 /
  • cp:在 hdfs 内部复制文件
[root@node-01 ~]# hadoop fs -cp /master.log /master.log1
  • df:统计 hdfs 可用空间信息
[root@node-01 ~]# hadoop fs -df -h /
  • du:统计 hdfs 文件夹大小信息
[root@node-01 ~]# hadoop fs -du -h -s /test
  • count:统计 hdfs 指定目录的文件节点数量
[root@node-01 ~]# hadoop fs -count /test
  • setrep:设置 hdfs 中文件的副本数量
[root@node-01 ~]# hadoop fs -setrep 3 /test.txt
  • 查看 hdfs 所有命令列表
[root@node-01 ~]# hadoop fs -help
Usage: hadoop fs [generic options]
        [-appendToFile  ... ]
        [-cat [-ignoreCrc]  ...]
        [-checksum  ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R]  PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] [-d] [-t ]  ... ]
        [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc]  ... ]
        [-count [-q] [-h] [-v] [-t []] [-u] [-x] [-e]  ...]
        [-cp [-f] [-p | -p[topax]] [-d]  ... ]
        [-createSnapshot  []]
        [-deleteSnapshot  ]
        [-df [-h] [ ...]]
        [-du [-s] [-h] [-v] [-x]  ...]
        [-expunge [-immediate]]
        [-find  ...  ...]
        [-get [-f] [-p] [-ignoreCrc] [-crc]  ... ]
        [-getfacl [-R] ]
        [-getfattr [-R] {-n name | -d} [-e en] ]
        [-getmerge [-nl] [-skip-empty-file]  ]
        [-head ]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [ ...]]
        [-mkdir [-p]  ...]
        [-moveFromLocal  ... ]
        [-moveToLocal  ]
        [-mv  ... ]
        [-put [-f] [-p] [-l] [-d]  ... ]
        [-renameSnapshot   ]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely]  ...]
        [-rmdir [--ignore-fail-on-non-empty]  ...]
        [-setfacl [-R] [{-b|-k} {-m|-x } ]|[--set  ]]
        [-setfattr {-n name [-v value] | -x name} ]
        [-setrep [-R] [-w]   ...]
        [-stat [format]  ...]
        [-tail [-f] [-s ] ]
        [-test -[defswrz] ]
        [-text [-ignoreCrc]  ...]
        [-touch [-a] [-m] [-t TIMESTAMP ] [-c]  ...]
        [-touchz  ...]
        [-truncate [-w]   ...]
        [-usage [cmd ...]]