Hadoop集群常用命令
## 集群管理命令
1. **启动/停止集群**
```bash
# 启动HDFS
start-dfs.sh
# 停止HDFS
stop-dfs.sh
# 启动YARN
start-yarn.sh
# 停止YARN
stop-yarn.sh
# 启动所有Hadoop服务
start-all.sh
# 停止所有Hadoop服务
stop-all.sh
```
2. **检查集群状态**
```bash
# 检查HDFS状态
hdfs dfsadmin -report
# 检查YARN节点状态
yarn node -list
# 检查集群健康状态
hdfs dfsadmin -safemode get
```
## HDFS文件操作命令
1. **基本文件操作**
```bash
# 列出目录内容
hdfs dfs -ls /path
# 创建目录
hdfs dfs -mkdir /path/to/directory
# 上传文件
hdfs dfs -put localfile /hdfs/path
# 下载文件
hdfs dfs -get /hdfs/path localfile
# 查看文件内容
hdfs dfs -cat /hdfs/path/file
# 删除文件
hdfs dfs -rm /hdfs/path/file
# 递归删除目录
hdfs dfs -rm -r /hdfs/path/directory
```
2. **文件权限和所有权**
```bash
# 更改文件所有者
hdfs dfs -chown user:group /path
# 更改文件权限
hdfs dfs -chmod 755 /path
```
## YARN作业管理命令
1. **作业操作**
```bash
# 列出所有运行中的应用程序
yarn application -list
# 杀死应用程序
yarn application -kill <ApplicationId>
# 查看应用程序日志
yarn logs -applicationId <ApplicationId>
```
2. **资源管理**
```bash
# 查看集群资源使用情况
yarn top
# 查看队列信息
yarn queue -status <queue_name>
```
## MapReduce作业命令
```bash
# 提交MapReduce作业
hadoop jar <jar_file> <main_class> <input_path> <output_path>
# 查看MapReduce作业状态
mapred job -list
mapred job -status <job_id>
```
## 维护和监控命令
1. **平衡HDFS数据**
```bash
# 启动平衡器
hdfs balancer -threshold 10
```
2. **检查文件系统**
```bash
# 检查HDFS一致性
hdfs fsck /
# 检查损坏块
hdfs fsck / -list-corruptfileblocks
```
3. **节点管理**
```bash
# 退役节点
hdfs dfsadmin -refreshNodes
# 添加节点
hdfs dfsadmin -refreshNodes
```
## 高级命令
1. **快照管理**
```bash
# 创建快照
hdfs dfsadmin -allowSnapshot /path
hdfs dfs -createSnapshot /path snapshot_name
# 删除快照
hdfs dfs -deleteSnapshot /path snapshot_name
```
2. **配额管理**
```bash
# 设置目录空间配额
hdfs dfsadmin -setSpaceQuota 1T /path
# 清除配额
hdfs dfsadmin -clrSpaceQuota /path
```