HBase使用create创建表时报错ERROR: KeeperErrorCode = NoNode for /hbase/master

场景模拟

1. 正常情况

模拟ERROR: KeeperErrorCode = NoNode for /hbase/master错误场景。

正常情况下创建hbase表如下图所示。

2. 删除hbase集群的zk节点

进入zookeeper客户端。

shell 复制代码
zkCli.sh

删除hbase的zk节点。

zookeeper 复制代码
deleteall /hbase

退出zookeeper客户端。

zookeeper 复制代码
quit

3. 重启hbase集群

3.1 单独停止 master 和 regionserver

虚拟机Hadoop1执行stop-hbase.sh命令不能成功停止hbase集群,则在虚拟机Hadoop1执行如下命令单独停止master。

shell 复制代码
hbase-daemon.sh stop master

虚拟机Hadoop2和Hadoop3执行如下命令单独停止regionserver。

shell 复制代码
hbase-daemon.sh stop regionserver


3.2 启动hbase集群

虚拟机Hadoop1执行如下命令启动hbase集群。

shell 复制代码
start-hbase.sh

进入hbase客户端。

shell 复制代码
hbase shell

4. 再次创建表

再次创建表时,可以看到使用create创建表时报错ERROR: KeeperErrorCode = NoNode for /hbase/master。


原因分析

通过上面的情景模拟,我们可以看到报错的原因在于zookeeper中出现问题,可能是zookeeper中的/hbase/master被删除,或者是在hbase集群启动之后重新安装了zookeeper,导致zookeeper中的/hbase/master节点数据异常。


解决方案

1. 停止hbase对应服务进程

1.1 单独停止 master 和 regionserver

虚拟机Hadoop1执行如下命令单独停止master。

shell 复制代码
hbase-daemon.sh stop master

虚拟机Hadoop2和Hadoop3执行如下命令单独停止regionserver。

shell 复制代码
hbase-daemon.sh stop regionserver


2. 删除hdfs上hbase生成的数据目录

shell 复制代码
hdfs dfs -rm -r /hbase

3. 进入zookeeper客户端,删除对应hbase的节点

进入zookeeper客户端。

shell 复制代码
zkCli.sh

删除hbase的zk节点。

zookeeper 复制代码
deleteall /hbase

退出zookeeper客户端。

zookeeper 复制代码
quit

4. 删除hbase在Linux本地的临时数据目录

虚拟机Hadoop1执行如下命令删除hbase在Linux本地的临时数据目录。

shell 复制代码
rm -rf /export/data/hbase2.4.18

5. 重新启动hbase集群

虚拟机Hadoop1执行如下命令重新启动hbase集群。

shell 复制代码
start-hbase.sh

进入hbase客户端。

shell 复制代码
hbase shell

再次创建表,可以看到创建成功。

相关推荐
落日屿星辰2 分钟前
【无标题】
大数据
r-t-H24 分钟前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
A XMan.28 分钟前
域名Whois信息查询V2版API接入指南
数据库
heimeiyingwang29 分钟前
【架构实战】可观测性体系:从监控到全链路追踪
网络·数据库·架构
网管NO.133 分钟前
SQL 日期函数全套精讲!时间格式化、日期加减、年月日提取,做日报周报直接套用
数据库·sql
杨云龙UP40 分钟前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
sdk大全42 分钟前
Studio 3T for MongoDB 2025.13.0
数据库·mongodb
码农阿豪44 分钟前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb
云登指纹浏览器44 分钟前
指纹浏览器RPA自动化实战:跨境电商多账号运营效率提升指南
大数据·自动化·rpa
罗超驿1 小时前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试