Ubuntu下HBase故障排查手册
一 快速定位流程
ss -lntp | egrep '60000|60010|2181|16010'。tail -f $HBASE_HOME/logs/hbase-*.log。优先关注ERROR/Exception**、ZooKeeper 连接失败、HDFS 不可用、权限拒绝等关键字。hdfs dfsadmin -report与hdfs dfs -ls /hbase确认NameNode/DataNode健康且 HBase 根目录可访问。echo stat | nc zk_host 2181或zkCli.sh检查会话与节点。hbase.rootdir、hbase.zookeeper.quorum、hbase.cluster.distributed。hostname -f与/etc/hosts确保主机名可解析,避免 DNS 超时。status 'detailed'查看集群与 Region 状态;必要时用hbase hbck检查一致性。二 常见故障与修复
~/.bashrc加入export HBASE_HOME=/usr/local/hbase与export PATH=$PATH:$HBASE_HOME/bin,执行source ~/.bashrc,再用hbase version验证。$HADOOP_HOME/share/hadoop/common/lib/slf4j-reload4j-*.jar或重命名$HBASE_HOME/lib/client-facing-thirdparty/log4j-slf4j-impl-*.jar。ERROR [main] conf.Configuration: error parsing conf hbase-site.xml。conf/hbase-env.sh设置export HBASE_PID_DIR=/usr/local/hbase/pids(路径需可写),重启后再尝试关闭。hbase.rootdir目录权限;适度增大HBASE_HEAPSIZE或HBASE_REGIONSERVER_OPTS;查看 Master/RS 日志定位具体异常。status 'detailed';用hbase hbck修复分配与 WAL/孤儿问题;必要时手动分配:hbase hbck -fixAssignments;检查Region 分裂/合并是否在进行。三 配置与网络要点
/etc/hosts确保FQDN与IP映射正确,避免回环与错误主机名导致 Region 分配/连接超时。hbase.rootdir=hdfs://<namenode>:8020/hbasehbase.zookeeper.quorum=<zk1>,<zk2>,<zk3>(或localhost单机)hbase.cluster.distributed=true四 常用命令清单
jps、ss -lntp | egrep '60000|60010|2181|16010'hdfs dfsadmin -report、hdfs dfs -ls /hbaseecho stat | nc <zk_ip> 2181、zkCli.sh -server <zk_ip>:2181start-hbase.sh、stop-hbase.shhbase shell、status 'detailed'、hbase hbck、hbase hbck -fixAssignmentstail -f $HBASE_HOME/logs/hbase-*.log五 最小化自检清单
hbase version确认 CLI 可用。jps能看到HMaster(及HRegionServer)。ss -lntp确认60000/60010/2181/16010端口监听正常。hdfs dfs -ls /hbase能列出目录(使用 HDFS 时)。zkCli.sh stat显示 ZooKeeper 会话正常。tail $HBASE_HOME/logs/hbase-*.log无 ERROR/Exception。status 'detailed'显示集群与 Region 健康。