Debian上HBase常见问题与排查步骤
一 环境准备与基础检查
java -version;在 $HBASE_HOME/conf/hbase-env.sh 中设置 export JAVA_HOME=/usr/lib/jvm/default-java。echo $HBASE_HOME、echo $PATH,确保 hbase 命令可用。hdfs dfsadmin -report;HBase 根目录(如 hbase.rootdir)指向可用的 HDFS 路径。二 启动类找不到或 JAVA_HOME 未设置
start-hbase.sh 报 “Error: Could not find or load main class … HMaster/HBaseConfTool/ZKServerTool” 或 “JAVA_HOME is not set”。JAVA_HOME(取消注释并填写实际路径)。start-hbase.sh,并用 jps 检查 HMaster/HRegionServer 进程是否出现。三 RegionServer 无法启动或 HMaster Web UI 打不开
tail -f $HBASE_HOME/logs/hbase-*-regionserver-*.log,优先定位异常栈与端口占用。hdfs dfsadmin -report,若 “could only be replicated to 0 nodes …” 多为容量或 DataNode 异常,需扩容或恢复节点。<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
四 无法连接 ZooKeeper
jps 能看到 QuorumPeerMain;未启动则 zkServer.sh start。<property>
<name>hbase.zookeeper.quorum</name>
<value>zk1,zk2,zk3</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
clientPort=2181,并确保各节点可互通。ping 与 telnet zk_host 2181 测试连通性,放行必要端口。tail -f $HBASE_HOME/logs/hbase-*-master-*.log 与 ZooKeeper 日志,常见为连接超时/拒绝。五 Java API 报错 error in opening zip file 与系统调优要点
jar tf your-hbase-client.jar 能列出内容即为有效。nofile ≥ 65536。echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag