一、HDFS 常用命令
HDFS 提供了丰富的 Shell 命令,其中 fs 命令最为常用。通过它我们可以查看目录结构、上传下载数据以及创建文件。
hadoop fs [genericOptions][commandOptions]
需要注意的是,Hadoop 中主要有三种 Shell 命令方式:
hadoop fs:适用于任何文件系统(如本地文件系统或 HDFS)。hadoop dfs:仅适用于 HDFS 文件系统。hdfs dfs:作用同hadoop dfs,也仅限 HDFS。
以下是部分核心命令的用法说明:
hadoop fs -ls <path>:显示指定路径文件的详细信息。hadoop fs -ls -R <path>:递归列出目录内容。hadoop fs -cat <path>:将文件内容输出到标准输出。hadoop fs -chgrp [-R] group <path>:修改文件所属组(需超级用户权限)。hadoop fs -chown [-R] [owner] [: [group]] <path>:修改文件所有者及组(需超级用户权限)。hadoop fs -chmod [-R] <mode> <path>:修改文件权限(需超级用户或文件所有者)。hadoop fs -tail [-f] <path>:输出文件最后 1KB 内容,-f用于持续监控新写入内容。hadoop fs -stat [format] <path>:以指定格式返回文件信息,默认显示创建日期。hadoop fs -touchz <path>:创建一个空文件。hadoop fs -mkdir [-p] <paths>:创建文件夹,-p支持递归创建子目录。hadoop fs -copyFromLocal <localsrc> <dst>:从本地复制文件到 HDFS。hadoop fs -copyToLocal [-ignorecrc] [-crc] <target> <localdst>:从 HDFS 复制文件到本地。hadoop fs -cp <src> <dst>:在 HDFS 内复制文件。hadoop fs -du <path>:显示文件或文件夹的大小统计。hadoop fs -expunge:清空回收站。hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>:从 HDFS 获取文件到本地。hadoop fs -getmerge [-nl] <src> <localdst>:合并源目录下的所有文件到本地一个文件中。hadoop fs -put <localsrc> <dst>:将本地文件上传至 HDFS,支持从标准输入读取。hadoop fs -moveFromLocal <localsrc> <dst>:上传并删除本地源文件。hadoop fs -mv <src> <dest>:移动文件。hadoop fs -rm <path>:删除非空目录和文件。hadoop fs -rm -r <path>:递归删除目录及其内容。hadoop fs -setrep [-R] <path>:修改副本系数。hadoop fs -test -[ezd] <path>:检查文件状态(存在、大小为零、是否为目录)。hadoop fs -text <path>:以文本格式输出文件内容。


