HDFS(Hadoop Distributed File System)是Hadoop项目的核心组件之一,它是一个分布式文件系统,设计用于存储大规模数据集。以下是一些常用的HDFS命令:
1. **查看文件系统状态**
- `hdfs dfsadmin -report`:显示文件系统的总体状态和空间使用情况。
- `hdfs dfs -df -h`:显示文件系统的可用空间和已用空间。
2. **文件和目录操作**
- `hdfs dfs -ls [path]`:列出指定目录下的文件和目录。
- `hdfs dfs -ls /`:列出根目录下的文件和目录。
- `hdfs dfs -mkdir [path]`:创建新目录。
- `hdfs dfs -touchz [path]`:创建一个空文件。
- `hdfs dfs -put localpath ... hdfs://hdfsnamespace/path/...`:将本地文件上传到HDFS。
- `hdfs dfs -get [hdfs_path] [local_path]`:从HDFS下载文件到本地。
- `hdfs dfs -getmerge ... localpath`:合并多个HDFS文件并下载到本地。
- `hdfs dfs -mv ...`:移动或重命名文件/目录。
- `hdfs dfs -rm [path]`:删除文件或目录。
- `hdfs dfs -rmdir [path]`:删除空目录。
- `hdfs dfs -rm -r [path]`:递归删除目录及其内容。
3. **文件权限和所有权**
- `hdfs dfs -chown [-R] [owner][:[group]] ... [path]`:更改文件/目录的所有者。
- `hdfs dfs -chmod [-R] [mode] ... [path]`:更改文件/目录的权限。
- `hdfs dfs -chgrp [-R] [group] ... [path]`:更改文件/目录的组。
4. **查看文件内容**
- `hdfs dfs -cat [path]`:显示文件内容。
- `hdfs dfs -text [path]`:显示文件内容,显示行号。
5. **文件复制**
- `hdfs dfs -cp [src] ... [dst]`:复制文件。
- `hdfs dfs -cp -p [src] ... [dst]`:复制文件并保留属性。
6. **文件压缩**
- `hdfs dfs -tar [options] [tarfile]`:打包文件。
- `hdfs dfs -untar [options] [tarfile]`:解包文件。
7. **文件系统元数据操作**
- `hdfs dfs -checksum [path]`:显示文件的校验和。
- `hdfs dfs -du [path]`:显示目录或文件的磁盘使用情况。
- `hdfs dfs -du -s [path]`:显示目录的总磁盘使用情况。
8. **快照操作**
- `hdfs dfs -allowSnap [path]`:允许在目录上创建快照。
- `hdfs dfs -disallowSnap [path]`:禁止在目录上创建快照。
- `hdfs dfs -createSnapshot [path] [snapshotName]`:创建快照。
- `hdfs dfs -deleteSnapshot [path] [snapshotName]`:删除快照。
- `hdfs dfs -listSnapshot [path]`:列出目录的所有快照。
这些命令是HDFS操作的基础,用于文件管理、权限控制、文件复制和查看文件系统状态等。在使用这些命令之前,确保你已经配置好了Hadoop环境,并且HDFS服务正在运行。