Hadoop集群宕机恢复流程 一、NameNode宕机恢复 确认故障状态 检查日志(/var/log/hadoop)确认NameNode进程是否异常终止 验证Active NameNode是否无法响应HTTP请求(默认端口50070) 执行恢复操作 HA架构恢复:
# 激活Standby节点
hdfs haadmin -transitionToActive --forcemanual nn2
# 修复原NameNode后重新注册为Standby
hdfs namenode -bootstrapStandby 数据完整性校验
hdfs fsck / -files -blocks -locations > fsck_report.txt # 生成块分布报告
hdfs dfsadmin -metasave metasave.log # 保存元数据镜像备份 DataNode宕机恢复 自动修复机制 NameNode检测心跳超时(默认10分钟)后标记节点失效 启动不足副本数的块复制(目标达成默认3副本) 手动介入场景 排查网络问题后重启DataNode服务:
hadoop-daemon.sh restart datanode
# 查看块同步进度
hdfs dfsadmin -report | grep "Under replicated" 若节点永久丢失,需清理元数据并触发全量复制:
hdfs dfsadmin -refreshNodes # 更新排除列表主节点(Master)宕机恢复
yarn rmadmin -transitionToActive --forcemanual rm2 # YARN资源管理器切换 故障原因通常有: 1)如果MR造成系统宕机。此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存。调整参数:yarn.scheduler.maximum-allocation-mb(单个任务可申请的最多物理内存量,默认是8192MB) 2)如果写入文件过快造成NameNode宕机。那么调高Kafka的存储大小,控制从Kafka到HDFS的写入速度。例如,可以调整Flume每批次拉取数据量的大小参数batchsize。