CentOS 上 HBase 启动不了,原因通常可以归为几类:环境配置、端口/权限、依赖服务、日志报错。下面按“最常见 → 排错方法”给你一个系统性的排查思路。
常见启动方式:
start-hbase.sh
或
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
如果 什么都没输出就退了,大概率是配置或环境问题。
HBase 强依赖 JDK,且版本有要求(如 HBase 2.x 需要 JDK 8)。
检查:
java -version
echo $JAVA_HOME
✅ 要求:
JAVA_HOME 必须配置jre修复:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
HBase 依赖:
如果:
检查:
jps
应该看到:
最常见错误配置:
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
⚠️ 如果 Hadoop 没开,或端口不对,直接启动失败。
✅ 单机最简配置示例:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/hbase/hbase-data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hbase/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
CentOS 默认 127.0.0.1 localhost 没问题,但:
❌ 错误:
127.0.0.1 centos
✅ 正确:
192.168.x.x centos
查看:
hostname
cat /etc/hosts
常见端口:
检查:
netstat -tunlp | grep 160
如果你是 root 启动 Hadoop,又用普通用户启动 HBase,会炸。
✅ 建议:
hadoop)chown -R hbase:hbase /opt/hbase
HBase 启不动 不要猜,看日志。
cd $HBASE_HOME/logs
ls
tail -200 hbase-*-master-*.log
常见日志关键词:
ClassNotFoundException → JDK / classpathConnection refused → Hadoop / ZKFailed to bind → 端口Permission denied → 权限java -version 正常JAVA_HOME 设置你可以直接贴:
hbase-site.xml我可以直接告诉你 哪一行配置错了。