在 CentOS 上 HBase 启动失败 的原因有很多,下面我按最常见原因 → 排查方法 → 解决办法给你系统梳理一下,你可以对照看是哪一种。
HBase 强依赖 Java
现象
start-hbase.sh 后没反应command not found: javajps 看不到 HMaster检查
java -version
echo $JAVA_HOME
解决
hbase-env.sh 中明确指定:export JAVA_HOME=/usr/java/jdk1.8.0_xxx
现象
NoSuchMethodError、ClassNotFoundException解决
现象
Connection refused、Cannot connect to ZooKeeper检查
netstat -tnlp | grep 2181
解决
export HBASE_MANAGES_ZK=true
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
hbase.cluster.distributed = true
hbase.rootdir = hdfs://localhost:9000/hbase
现象
localhost: Error: Could not resolve hostname检查
hostname
cat /etc/hosts
正确示例
127.0.0.1 localhost
192.168.1.10 master
并确保:
ping master
现象
Permission denied解决
chown -R hbase:hadoop /opt/hbase
chmod -R 755 /opt/hbase
常见端口:
netstat -tnlp | grep 160
# 1. 看日志(最重要)
cd $HBASE_HOME/logs
tail -200 hbase-*.log
# 2. 看进程
jps
# 3. 单机测试
stop-hbase.sh
start-hbase.sh
请把下面信息贴出来(越多越好):
hbase-site.xml 内容我可以直接告诉你是哪一行配置或环境问题导致的。