以下是 Hadoop 常用命令解析,分为 HDFS 文件操作命令、YARN 管理命令 和 集群管理命令。
一、HDFS 文件操作命令解析
1. 查看文件和目录
- 命令:
hadoop fs -ls /路径
- 功能:
列出指定路径下的文件和目录信息。 - 参数解释:
-ls
:显示文件和目录的名称、大小、权限、所有者等信息。/路径
:指定目录路径。
- 使用场景:
查看 HDFS 中某个目录下的文件结构及其基本信息。
2. 上传文件到 HDFS
- 命令:
hadoop fs -put 本地路径 /HDFS路径
- 功能:
将本地文件或目录上传到 HDFS 指定目录中。 - 参数解释:
本地路径
:本地文件或目录的路径。/HDFS路径
:目标 HDFS 目录。
- 使用场景:
上传需要处理的数据文件到 HDFS。
3. 下载文件到本地
- 命令:
hadoop fs -get /HDFS路径 本地路径
- 功能:
将 HDFS 上的文件或目录下载到本地系统。 - 参数解释:
/HDFS路径
:HDFS 上的文件或目录路径。本地路径
:本地系统中的存储路径。
- 使用场景:
下载处理后的数据或日志文件到本地分析。
4. 删除文件或目录
- 命令:
hadoop fs -rm -r /路径
- 功能:
删除 HDFS 上的文件或目录。 - 参数解释:
-r
:递归删除目录及其内容。/路径
:需要删除的文件或目录路径。
- 使用场景:
清理无用的临时数据或过期的目录。
5. 查看文件内容
- 命令:
hadoop fs -cat /路径/文件名
- 功能:
输出 HDFS 文件的内容到控制台。 - 参数解释:
/路径/文件名
:需要查看内容的文件路径。
- 使用场景:
检查文件内容是否正确,或快速验证处理结果。
6. 统计目录大小
- 命令:
hadoop fs -du -h /路径
- 功能:
显示指定目录及其子目录的大小。 - 参数解释:
-du
:显示文件或目录的空间使用情况。-h
:以人类易读的方式(如 KB、MB、GB)显示大小。
- 使用场景:
检查数据存储的占用空间,评估资源使用情况。
二、YARN 管理命令解析
1. 查看应用程序列表
- 命令:
yarn application -list
- 功能:
显示当前运行的 YARN 应用程序列表。 - 参数解释:
-list
:列出正在运行的应用程序。
- 使用场景:
监控集群中运行的任务状态。
2. 查看应用程序状态
- 命令:
yarn application -status <ApplicationID>
- 功能:
显示指定应用程序的详细状态信息。 - 参数解释:
<ApplicationID>
:应用程序的唯一标识。
- 使用场景:
排查任务执行异常时,获取详细状态和日志信息。
3. 终止应用程序
- 命令:
yarn application -kill <ApplicationID>
- 功能:
强制终止指定的 YARN 应用程序。 - 参数解释:
<ApplicationID>
:需要终止的应用程序 ID。
- 使用场景:
停止运行时间过长或卡住的任务,释放集群资源。
4. 查看队列信息
- 命令:
yarn queue -status 队列名
- 功能:
查看 YARN 任务队列的详细信息,包括可用资源、分配任务等。 - 参数解释:
-status
:获取队列状态。队列名
:指定需要查看的队列名称。
- 使用场景:
检查特定队列的资源分配情况,优化队列调度。
三、Hadoop 集群管理命令解析
1. 检查 HDFS 健康状态
- 命令:
hdfs fsck /路径
- 功能:
检查 HDFS 上的文件和目录是否存在坏块或复制因子不足的问题。 - 参数解释:
/路径
:需要检查的文件或目录路径。
- 使用场景:
定期监控 HDFS 的健康状况,避免数据丢失。
2. 启用或退出安全模式
- 命令:
- 启用安全模式:
hdfs dfsadmin -safemode enter
- 退出安全模式:
hdfs dfsadmin -safemode leave
- 启用安全模式:
- 功能:
启用安全模式后,HDFS 只读,不接受写入操作;退出安全模式恢复正常读写。 - 使用场景:
在维护或故障恢复时保护 HDFS 数据完整性。
3. 查看集群报告
- 命令:
hdfs dfsadmin -report
- 功能:
显示集群中所有 Datanode 的状态,包括存储容量、剩余空间等信息。 - 使用场景:
分析和优化集群资源分布,排查节点故障。
4. 平衡数据块分布
- 命令:
hdfs balancer
- 功能:
在 Datanode 之间重新分配数据块,确保集群存储均衡。 - 使用场景:
当某些节点存储使用率过高时,通过平衡工具优化集群存储。
四、综合使用示例
1. 从本地上传文件到 HDFS 并查看内容
hadoop fs -put /local/data.txt /user/hadoop/data/
hadoop fs -ls /user/hadoop/data/
hadoop fs -cat /user/hadoop/data/data.txt
2. 定期清理临时文件
hadoop fs -rm -r /user/hadoop/temp/*
3. 查看当前任务资源分配
yarn application -list
yarn application -status application_123456789_0001