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
   ```

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐