Hadoop/EMR 生产故障排查
Hadoop/EMR 生产故障排查
1. HDFS
-
1.1 重新上电启动 HDFS 集群,日志显示在安全模式
- 解决
# 手动退出安全模式 hdfs dfsadmin -safemode leave # 查看当前安全模式状态 hdfs dfsadmin -safemode get
- 解决
-
1.2 重新上电启动 HDFS 集群,两个
NameNode
都处于standby
状态- 解决
# 手动强制切换 nn1 为 active 节点 hdfs haadmin -transitionToActive --forcemanual nn1 # 查看 nn1 当前状态 hdfs haadmin -getServiceState nn1
- 解决
2. HBASE
- 重新上电启动 HBASE 集群,HMaster 一直在初始化中,查看日志显示一直在:
master.SplitLogManager: total tasks = 1 unassigned = 0 tasks={/hbase/splitWAL/WALs%2Fnode2%2C16020%2C1537844261125-splitting%2Fnode2%252C16020%252C1537844261125.default.1539859452860=last_update = 1569206033003 last_version = 32 cur_worker_name = master,16020,1564709336779 status = in_progress incarnation = 0 resubmits = 0 batch = installed = 1 done = 0 error = 0 ...
参考1: RegionServer宕机数据恢复原理
参考2: MasterProcWals状态的日志过多导致的HMaster启动失败
- 原因:HMaster一直试图从WALs文件恢复数据,但一直没完成(或成功),
- 解决 (不优雅,需谨慎操作,是否会丢失宕机这段时间的数据?)
# 强制删除损坏(或无效)的 WALs 日志, 然后重启HMaster或等待几分钟 hdfs dfs -rm r /hbase/MasterProcWALs/