HDFS常用的命令(40个)

HDFS常用的命令(40个)
HDFS命令行的格式如下所示代码语言javascriptAI代码解释Hadoop fs -cmd args其中cmd是要执行的具体命令是要执行命令的参数但不限于一个参数。要查看命令行接口的帮助信息只需在命令行中输入如下命令代码语言javascriptAI代码解释hadoop fs即不添加任务具体的执行命令Hadoop 就会列出命令行接口的帮助信息如下所示代码语言javascriptAI代码解释[rootnode01 ~]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile localsrc ... dst] [-cat [-ignoreCrc] src ...] [-checksum src ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] MODE[,MODE]... | OCTALMODE PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-copyFromLocal [-f] [-p] [-l] localsrc ... dst] [-copyToLocal [-p] [-ignoreCrc] [-crc] src ... localdst] [-count [-q] [-h] [-v] [-x] path ...] [-cp [-f] [-p | -p[topax]] src ... dst] [-createSnapshot snapshotDir [snapshotName]] [-deleteSnapshot snapshotDir snapshotName] [-df [-h] [path ...]] [-du [-s] [-h] [-x] path ...] [-expunge] [-find path ... expression ...] [-get [-p] [-ignoreCrc] [-crc] src ... localdst] [-getfacl [-R] path] [-getfattr [-R] {-n name | -d} [-e en] path] [-getmerge [-nl] src localdst] [-help [cmd ...]] [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [path ...]] [-mkdir [-p] path ...] [-moveFromLocal localsrc ... dst] [-moveToLocal src localdst] [-mv src ... dst] [-put [-f] [-p] [-l] localsrc ... dst] [-renameSnapshot snapshotDir oldName newName] [-rm [-f] [-r|-R] [-skipTrash] src ...] [-rmdir [--ignore-fail-on-non-empty] dir ...] [-setfacl [-R] [{-b|-k} {-m|-x acl_spec} path]|[--set acl_spec path]] [-setfattr {-n name [-v value] | -x name} path] [-setrep [-R] [-w] rep path ...] [-stat [format] path ...] [-tail [-f] file] [-test -[defsz] path] [-text [-ignoreCrc] src ...] [-touchz path ...] [-usage [cmd ...]] Generic options supported are -conf configuration file specify an application configuration file -D propertyvalue use value for given property -fs local|namenode:port specify a namenode -jt local|resourcemanager:port specify a ResourceManager -files comma separated list of files specify comma separated files to be copied to the map reduce cluster -libjars comma separated list of jars specify comma separated jar files to include in the classpath. -archives comma separated list of archives specify comma separated archives to be unarchived on the compute machines. The general command line syntax is bin/hadoop command [genericOptions] [commandOptions]1、文件准备在服务器本地创建 data.txt 文件用于测试文件的内容如下所示代码语言javascriptAI代码解释hello hadoop2、-appendToFile将服务器本地的文件追加到HDFS指定的文件中如果多次运行相同的参数则会在 HDFS 的文件中追加多行相同的内容。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -appendToFile data.txt /data/data.txt3、-cat主要用来查看 HDFS 中的非压缩文件的内容。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 ~]# hadoop fs -cat /data/data.txt hello hadoop hello hadoop4、-checksum查看 HDFS 中文件的校验和。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 ~]# hadoop fs -checksum /data/data.txt /data/data.txt MD5-of-0MD5-of-512CRC32C 000002000000000000000000c8e21d30c9ed5817cd5ff40768a343895、-chgrp改变 HDFS 中文件或目录的所属组-R 选项可以改变目录下所有子目录的所属组执行此命令的用户必须是文件或目录的所有者或超级用户。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -chgrp hadoop /data/data.txt6、-chmod修改 HDFS 中文件或目录的访问权限-R 选项可以修改目录下的所有子目录的访问权限执行此命令的用户必须是文件或目录的所有者或超级用户。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -chmod 700 /data/data.txt此时data.txt 文件当前的访问权限已经被修改为“ -rwx------”7、chown修改文件或目录的所有者-R选项可以修改目录下所有子目录的所有者此命令的用户必须是超级用户。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -chown alice:alice /data/data.txt8、-copyFromLocal将本地服务器上的文件复制到HDFS中。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -copyFromLocal a.txt /data/9、-copyToLocal将 HDFS 中的文件复制到服务器本地。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -copyToLocal /data/data.txt /home/hadoop/input10、-count显示目录下的子目录数、文件数、占用字节数、所有文件和目录名-q 选项显示目录和空间的配额信息。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -count /data/ 4 9 456 /data11、-cp复制文件或目录如果源文件或目录有多个则目标必须为目录。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -cp /data/data.txt /data/data.tmp12、-createSnapshot为HDFS中的文件创建快照实例代码如下 首先在 HDFS 中创建目录 /sn并将 /sn 目录设置为可快照如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -mkdir /sn [rootnode01 zwj]# hdfs dfsadmin -allowSnapshot /sn Allowing snaphot on /sn succeeded接下来执行创建快照操作如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -createSnapshot /sn s1 Created snapshot /sn/.snapshot/s1说明创建快照成功。13、-deleteSnapshot删除 HDFS 中的文件快照实例代码如下所示代码语言javascriptAI代码解释hadoop fs -deleteSnapshot /sn s1删除 /sn 目录的快照sn114、-df查看 HDFS 中目录空间的使用情况。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -df -h /data Filesystem Size Used Available Use% hdfs://node01:8020 130.1 G 13.7 G 57.8 G 11%15、-du查看 HDFS 或目录中的文件大小。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -du -h -s -x /data 456 1.3 K /data16、-expunge清空HDFS中的回收站实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -expunge 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for trashRoot: hdfs://node01:8020/user/root/.Trash 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for trashRoot: hdfs://node01:8020/user/root/.Trash 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: Deleted trash checkpoint: /user/root/.Trash/201028063715 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: Deleted trash checkpoint: /user/root/.Trash/201031181139 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: TrashPolicyDefault#createCheckpoint for trashRoot: hdfs://node01:8020/user/root/.Trash 20/12/27 20:41:48 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/root/.Trash/20122720414817、-find查找 HDFS 中指定目录下的文件。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -find /data /data/data.txt /data /data/a.txt /data/data.txt18、-get将 HDFS 中的文件复制到本地服务器。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -get /data/data.txt /home/hadoop/input19、-getfacl查看HDFS中指定目录下的文件的访问控制列表-R 选项可以查看所有子目录下的文件访问控制列表。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -getfacl /data # file: /data # owner: root # group: supergroup20、-getfattr查看 HDFS 上的文件扩展属性信息-R 选项可以查看当前目录下所有子目录中的文件扩展属性信息或子目录下文件的扩展属性信息。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -getfattr -R -d /data # file: /data # file: /data/a.txt # file: /data/data.txt # file: /data/input21、-getmerge将 HDFS 中的多个文件合并为一个文件复制到本地服务器。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -getmerge /data/a.txt /data/b.txt /home/hadoop/input/data.local22、-head以head方式查看 HDFS 中的文件此命令后面的文件只能为文件不能为目录实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -head /data/data.txt hello hadoop hello hadoop23、-help查看 Hadoop 具体命令的帮助信息。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -help cat -cat [-ignoreCrc] src ... : Fetch all files that match the file pattern src and display their content on stdout.24、-ls列出 HDFS 中指定目录下的信息实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -ls /data Found 3 items -rw-r--r-- 3 root supergroup 6 2020-12-27 20:11 /data/a.txt -rw-r--r-- 3 root supergroup 26 2020-12-27 18:59 /data/data.txt drwxr-xr-x - root supergroup 0 2020-09-18 19:16 /data/input25、-mkdir在 HDFS 上创建目录实例代码如下所示代码语言javascriptAI代码解释hadoop fs -mkdir /test/data26、-moveFromLocal移动本地服务器上的某个文件到 HDFS 中。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -moveFromLocal /home/hadoop/input/data.local /data/27、-moveToLocal移动 HDFS 中的文件到本地服务器的某个目录下。代码语言javascriptAI代码解释hadoop fs -moveToLocal /data/data.txt /home/hadoop/input/注意| 此命令在 Hadoop3.2.0 版本中尚未实现28、-mv移动 HDFS 中的目录到 HDFS 中的另一个目录下。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -mv /data/data.local /test29、-put复制本地文件到 HDFS 中的某个目录下。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -put /home/hadoop/input/data.local /data30、-renameSnapshot重命名 HDFS 上的文件快照。实例代码如下 首先在 HDFS 中创建目录 /sn并将 /sn 目录设置为可快照如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -mkdir /sn [rootnode01 zwj]# hdfs dfsadmin -allowSnapshot /sn Allowing snaphot on /sn succeeded接下来执行创建快照操作如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -createSnapshot /sn s1 Created snapshot /sn/.snapshot/s1说明创建快照成功。 接下来将 /sn 目录的快照名称 s1 重命名为 s2如下所示代码语言javascriptAI代码解释hadoop fs -renameSnapshot /sn s1 s231、-rm删除文件或目录。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -rm /data/data.local32、-rmkdir删除HDFS上的目录此目录必须是空目录。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -mkdir /test33、-setrep设置 HDFS 上的文件的目标副本数量-R 选项可以对子目录逐级进行相同的操作 -w 选项等待副本达到设置值。实例代码如下所示代码语言javascriptAI代码解释hadoop fs -setrep 5 /data/data.txt34、-stat查看 HDFS 上文件或目录的统计信息以 format 的格式列出。可选的 format 格式如下%b文件所占的块数%g文件所属的用户组%n文件名%o文件块大小%r备份数%u文件所属用户%y文件修改时间实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]$ hadoop fs -stat %b,%g,%n,%o,%r,%u,%y /data 0,hive,data,0,0,hive,2020-11-16 07:54:0435、-tail显示一个文件的末尾数据通常是显示文件最后的 1KB 的数据。-f 选项可以监听文件的变化当有内容追加到文件中时-f 选项能够实时显示追加的内容。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -tail /data/data.txt hello hadoop hello hadoop36、-test检测文件的信息参数选项如下-d如果路径为目录则返回0-e如果路径存在则返回0-f如果路径为文件则返回0-s如果路径中的文件大于0字节则返回0-w如果路径存在并且具有写权限则返回0-r如果路径存在并且具有读权限则返回0-z如果路径中的文件为0字节则返回0否则返回1实例代码如下所示代码语言javascriptAI代码解释hadoop fs -test -d /data37、-text查看文件内容。text 命令除了能够查看非压缩的文本文件内容之外也能查看压缩后的文本文件内容cat命令只能查看非压缩的文本文件内容。实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -text /data/data.txt hello hadoop hello hadoop38、touch在 HDFS 上创建文件如果文件不存在则不报错实例代码如下所示代码语言javascriptAI代码解释hadoop fs -touch /data/data.touch39、-truncate切断 HDFS 上的文件实例代码如下所示代码语言javascriptAI代码解释[rootnode01 zwj]# hadoop fs -truncate 26 /data/data.txt Truncate /data/data.txt to length: 2640、-usage列出指定命令的使用格式实例代码如下所示代码语言javascriptAI代码解释[[rootnode01 zwj]# hadoop fs -usage cat Usage: hadoop fs [generic options] -cat [-ignoreCrc] src ...