Debian 上 HBase 故障排查实操手册
一 快速定位流程
二 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 无法连接 HBase | jps 无 HMaster/HRegionServer;telnet 2181/16020 失败;客户端与服务端版本不一致 | 启动缺失进程;释放或更换端口;统一客户端/服务端版本 |
| HMaster 一直 Initializing master service | hbase-site.xml 中 hbase.rootdir / hbase.zookeeper.quorum 配置错误;ZooKeeper 未起;HDFS 异常 | 修正配置;启动 ZooKeeper;用 hdfs dfsadmin -report 排查 HDFS;重启 HBase |
| RegionServer 起不来 / 处于 Restoring | 端口被占用(如 16020);节点内存不足;残留进程未退出 | 用 lsof 查杀占用进程;释放内存或扩容;清理残留进程后重启 |
| 启动失败且日志提示 FileNotFoundException(协处理器 JAR 不存在) | RegionServer 启动加载协处理器时报错 | 确认 HDFS 上协处理器 JAR 路径 正确;如缺失上传 JAR 或临时移除协处理器再启 |
| 启动失败且日志提示 The DiskSpace quota of /hbase is exceeded | HDFS 配额或磁盘已满 | 清理无用数据或扩容;解除/调整 HDFS 配额 |
| 启动失败且 hbase.version 损坏 | hadoop fs -cat /hbase/hbase.version 异常 | 执行 hbase hbck -fixVersionFile;或拷贝同版本健康集群的 hbase.version 覆盖 |
| 写入超时/阻塞 | RegionServer 日志有 WAL/Flush 异常;表 INCONSISTENT;MemStore/BlockCache 超限 | 用 hbase hbck -details/repair 修复表一致性;flush 表;检查列族参数与 GC |
| 大量 IO、报错 OP_READ_BLOCK / CorruptHFile | RegionServer 处理 WALs 耗时;HDFS 块缺失/损坏/副本不足 | 用 hdfs fsck /hbase/data -files -blocks -locations 检查;必要时按提示修复或删除损坏文件;核查 DataNode 与网络 |
| 无业务但 CPU 飙高 | top -H -p <RS_PID> 看到大量 compaction 线程 | 正常现象(压缩/合并);在低峰期执行 major compaction 或优化策略 |
| 外部通过 Phoenix 访问慢 | 同 VPC 仍慢 | 检查 DNS 解析耗时;必要时在 /etc/resolv.conf 注释 DNS 或优化解析 |
三 关键命令清单
四 Debian 环境专项检查
五 性能与稳定性优化要点