Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组成部分,它是一个高度容错、高吞吐量的文件系统,特别适合于大规模数据处理和存储。本文档概述了Hadoop中一些常用的HDFS命令,对于Hadoop开发者和管理员来说,这些命令是日常操作的基础。
1. 创建HDFS目录:
- `hdfs dfs -mkdir /path/to/directory`: 在HDFS的根目录下创建一个新的目录,如`/zr`。这个命令用于在HDFS中创建一个层次结构的文件夹结构。
2. 目录查看与管理:
- `hdfs dfs -ls /path/to/directory`: 显示指定路径下的目录内容,包括子目录和文件。
- `hdfs dfs -ls -R /path/to/directory`: 递归列出指定路径的所有子目录和文件。
- `hdfs dfs -ls -d /path/to/directory`: 只显示目录,不显示文件。
3. 文件操作:
- `hdfs dfs -put local_file /path/to/hdfs_file`: 将本地文件(如`a.txt`或`b.txt`)复制到HDFS中的指定路径,如果文件已存在,可能会提示`FileExistsException`。
- `hdfs dfs -cp local_file /path/to/hdfs_file`: 同样用于复制文件,但可以使用`-f`或`-skipcrccheck`选项强制复制,跳过校验。
4. 多级目录操作:
- `hdfs dfs -mkdir /path/to/multilevel/directory`: 创建多级目录结构。
5. 文件内容查看:
- `hdfs dfs -cat /path/to/file`: 显示文件内容,类似于本地系统的`cat`命令。
6. 删除文件和目录:
- `hdfs dfs -rm /path/to/file`: 删除单个文件。
- `hdfs dfs -rmdir /path/to/directory`: 删除空目录。
- `hdfs dfs -rm -r /path/to/directory`: 强制删除包含文件的目录。
7. 数据迁移与备份:
- `hdfs dfs -get /path/to/hdfs_file local_directory`: 将HDFS文件复制到本地。
- `hdfs dfs -getmerge /path/to/hdfs_directory local_directory`: 合并下载HDFS目录下的所有文件到本地。
通过理解和掌握这些基本的HDFS命令,用户能够有效地管理和操作Hadoop集群中的分布式文件,实现大数据的存储、读取和处理。在实际使用中,根据具体需求,可能还需要配合Hadoop配置文件(如`core-site.xml`和`hdfs-site.xml`)进行更精细的控制。