HBase启动失败,已确认Zookeeper正常、JDK版本匹配,寻求解决方案
HBase启动异常排查方案
以下是排除你已经确认的JDK版本一致、ZK运行正常问题后的排查步骤:
- 检查
hbase-site.xml中的ZK配置项
确认hbase.zookeeper.quorum配置的地址与你实际运行的ZK节点地址完全匹配,若ZK使用非默认的2181端口,需要额外添加hbase.zookeeper.property.clientPort配置,端口值和ZK配置的客户端端口对齐。 - 核对HBase与JDK的版本兼容性
即便java和javac版本一致,若HBase版本与JDK版本不兼容也会启动失败:HBase 1.x仅支持JDK 8,HBase 2.0~2.4支持JDK 8和JDK 11,HBase 2.5+支持JDK 11和JDK 17。你可以执行hbase version命令输出当前HBase版本,和你安装的JDK版本做匹配校验。 - 清理ZK残留的HBase节点
若之前启动过其他HBase实例,ZK上残留的/hbase节点可能存在权限冲突,你可以进入ZK命令行终端执行deleteall /hbase删除残留节点,之后再重启HBase服务。 - 确认ZK管理配置项正确
打开hbase-env.sh文件,检查HBASE_MANAGES_ZK参数值:如果你使用独立部署的ZK,该参数必须设置为false,否则HBase会启动内置ZK和你独立运行的ZK产生冲突,导致连接异常。 - 查看完整报错日志定位根因
进入HBase安装目录下的logs文件夹,查看hbase-*-master-*.log日志文件,重点检索Caused by:开头的报错行,可以直接定位具体错误原因,比如是文件权限不足、HDFS连接失败、类定义缺失等问题。
内容的提问来源于stack exchange,提问作者xiaojuanxie
相关产品推荐
相关产品推荐

