Hadoop / YARN / Hive 运维操作教程
本文整理了一份完整的 Hadoop、YARN、Hive 运维操作手册,包括配置同步、集群启动、服务管理、任务监控等常用运维操作。适用于多节点集群的管理和日常维护。
1、Hadoop 配置同步
在多节点集群中,需要保持 Hadoop 配置文件一致,可以通过rsync脚本快速同步。
脚本示例
#!/bin/bash# Hadoop 配置同步脚本# 同步 Hadoop 配置到 node1rsync-avz /usr/local/hadoop-3.3.0/etc/hadoop/ node1:/usr/local/hadoop-3.3.0/etc/hadoop/# 同步 Hadoop 配置到 node2rsync-avz /usr/local/hadoop-3.3.0/etc/hadoop/ node2:/usr/local/hadoop-3.3.0/etc/hadoop/使用方法
- 将脚本保存为
/opt/sync-hadoop-config.sh - 添加执行权限:
chmod+x /opt/sync-hadoop-config.sh- 执行脚本进行同步:
sudo/opt/sync-hadoop-config.sh说明:
rsync -avz支持增量同步、保持权限并压缩传输。- 修改 Hadoop 配置后,必须同步到所有节点,确保集群一致性。
2、Hadoop + Hive 自动启动脚本
快速启动 Hadoop 集群(HDFS + YARN)和 Hive 服务(Metastore + HiveServer2)。
脚本示例
#!/bin/bash# 自动启动 Hadoop 集群及 Hive 服务echo"Stopping any running Hadoop services..."stop-yarn.sh stop-dfs.shecho"Starting HDFS..."start-dfs.shecho"Starting YARN..."start-yarn.shecho"Checking all Java processes..."jpsecho"[12/13] Starting Hive Metastore and HiveServer2..."mkdir-p /var/log$HIVE_HOME/bin/hive --service metastore>/var/log/hive-metastore.log2>&1&disownsleep5$HIVE_HOME/bin/hive --service hiveserver2>/var/log/hiveserver2.log2>&1&disownecho"Waiting for HiveServer2 to start..."while!lsof-i:10000>/dev/null2>&1;dosleep2;doneecho""echo"============================================"echo" Hive Installation Complete!"echo"============================================"echo"Hive CLI: hive"echo"Beeline: beeline → !connect jdbc:hive2://node0:10000"echo"Username: root"echo"Password: 123456"echo"DBeaver: node1 → dbeaver &"echo"============================================"使用方法
- 保存为
/opt/start-hadoop-hive.sh - 添加执行权限:
chmod+x /opt/start-hadoop-hive.sh- 执行脚本:
sudo/opt/start-hadoop-hive.sh说明:
- 脚本会先停止已有 Hadoop 服务,防止端口冲突。
- 启动顺序为 HDFS → YARN → Hive Metastore → HiveServer2。
- 脚本会等待 HiveServer2 完成启动(监听端口 10000)。
3、Hadoop 服务管理
停止服务
stop-dfs.sh# 停止 HDFSstop-yarn.sh# 停止 YARN启动服务
start-dfs.sh# 启动 HDFSstart-yarn.sh# 启动 YARN查看节点进程
jps# 查看 Hadoop / Java 相关进程4、YARN 应用管理
查看应用状态
yarnapplication -status<application_id>示例:
yarnapplication -status application_1762584413435_0004列出应用
yarnapplication -list# 仅 RUNNINGyarnapplication -list -appStates ALL# 所有状态yarnapplication -list -appStates FINISHEDyarnapplication -list -appStates FAILED查看容器日志
yarnlogs -applicationId<application_id>示例:
yarnlogs -applicationId application_1762584413435_0004|grep"Reducer"|grep"container_"5、Hadoop 节点管理
列出节点
yarnnode-list查看节点状态
yarnnode-status<node:port>示例:
yarnnode-status node0:8042yarnnode-status node1:45766节点标签管理
yarnrmadmin -addToClusterNodeLabels"AMnode"6、ResourceManager 管理
yarn--daemon stop resourcemanager# 停止 ResourceManageryarn--daemon start resourcemanager# 启动 ResourceManager7、Hive 操作
hive# 启动 Hive CLIcat/var/log/hiveserver2.log# 查看 HiveServer2 日志8、系统与集群监控
top# 查看 CPU / 内存使用hdfs dfsadmin -report|egrep"Datanodes|Name|Dead|Live"# HDFS 状态zkServer.sh status# ZooKeeper 状态9、MapReduce 任务管理
mapred job -list# 列出 MR 任务mapred job -status<job_id># 查看 MR 任务状态示例:
mapred job -status job_1731089675000_000110、常用日志与调试
- HiveServer2 日志:
/var/log/hiveserver2.log - Hive Metastore 日志:
/var/log/hive-metastore.log - YARN 容器日志:
yarn logs -applicationId <app_id> - HDFS 健康状态:
hdfs dfsadmin -report
总结
- 配置同步脚本:保证多节点 Hadoop 配置一致。
- 自动启动脚本:快速启动 Hadoop + Hive 集群。
- 日常运维命令涵盖 Hadoop 服务管理、YARN 应用管理、节点管理、Hive 操作、系统监控和 MapReduce 任务管理。
- 日志与调试命令:帮助快速定位问题,提升运维效率。