一. 概述
- 所有HDFS命令都由hadoop安装目录下的bin/hdfs脚本调用。运行不带任何参数的hdfs脚本会打印所有命令的描述。
- 用法:hdfs [SHELL_OPTIONS]命令 [GENERIC_OPTIONS] [COMMAND_OPTIONS]
- HDFS命令主要分为两类:用户命令和管理命令。
二. 用户命令
1. 用法:hadoop fs -appendToFile <localsrc> ... <dst>
将单个src或多个srcs从本地文件系统附加到目标文件系统。还从stdin读取输入并附加到目标文件系统。
- hadoop fs -appendToFile localfile /user/hadoop/hadoopfile
- hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
- hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
- hadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile //从stdin读取输入
2. 用法:hadoop fs -cat URI [URI ...]
将源路径复制到stdout。
例:
- hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
3. 用法:hadoop fs -checksum URI
返回文件的校验和信息。
例:
- hadoop fs -checksum hdfs://nn1.example.com/file1
4. 用法:hadoop fs -chgrp [-R] GROUP URI [URI ...]
更改文件的组关联。用户必须是文件的所有者,否则必须是超级用户。
选项
- -R选项将通过目录结构递归地进行更改。
5. 用法:hadoop fs -chmod [-R] <MODE [,MODE] ... | OCTALMODE> URI [URI ...]
更改文件的权限。使用-R,通过目录结构递归更改。用户必须是文件的所有者,否则必须是超级用户。
选项
- -R选项将通过目录结构递归地进行更改。
6. 用法:hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]
更改文件的所有者。用户必须是超级用户。
选项
- -R选项将通过目录结构递归地进行更改。
7. 用法:hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]
更改文件的所有者。用户必须是超级用户。
选项
- -R选项将通过目录结构递归地进行更改。
8. 用法:hadoop fs -copyFromLocal <localsrc> URI
与put命令类似,但源仅限于本地文件引用。
选项:
- 如果目标已存在,则-f选项将覆盖目标。
9. 用法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
与get命令类似,但目标仅限于本地文件引用。
10. 用法:hadoop fs -cp [-f] [-p | -p [topax]] URI [URI ...] <dest>
将文件从源复制到目标。此命令也允许多个源,在这种情况下,目标必须是目录。
选项:
- 如果目标已存在,则-f选项将覆盖目标。
例:
- hadoop fs -cp /user/hadoop/file1/user/hadoop/file2
11. 用法:hadoop fs -df [-h] URI [URI ...]
显示可用空间。
选项:
- -h选项将以“人类可读”的方式格式化文件大小(例如64.0m而不是67108864)
例:
- hadoop dfs -df /user/ hadoop/dir1
12. 用法:hadoop fs -du [-s] [-h] URI [URI ...]
显示给定目录中包含的文件和目录的大小或文件的长度。
选项:
- -s选项将导致显示文件长度的汇总摘要,而不是单个文件。
- -h选项将以“人类可读”的方式格式化文件大小(例如64.0m而不是67108864)
例:
- hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
13. 用法:hadoop fs -get
<src> <localdst>
将文件复制到本地文件系统。
例:
- hadoop fs -get /user/hadoop/file localfile
- hadoop fs -get hdfs://nn.example.com/user/hadoop/file localfile
14. 用法:hadoop fs -ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] <args>
选项:
- -d:目录列为纯文件。
- -h:以人类可读的方式格式化文件大小(例如64.0m而不是67108864)。
- -R:递归列出遇到的子目录。
- -t:按修改时间排序输出(最近的第一个)。
- -S:按文件大小排序输出。
- -r:反转排序顺序。
- -u:使用访问时间而不是修改时间进行显示和排序。
15. 用法:hadoop fs -lsr <args>
ls的递归版本。
注意:不推荐使用此命令。而是使用hadoop fs -ls -R
16. 用法:hadoop fs -mkdir [-p] <paths>
将路径uri作为参数并创建目录。
选项:
- -p选项行为与Unix mkdir -p非常相似,沿路径创建父目录。
17. 用法:hadoop fs -moveFromLocal <localsrc> <dst>