Hadoop

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/

留言

您的电子邮箱地址不会被公开。