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

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

相关推荐
2501_901200531 小时前
PHP源码部署需要多大硬盘空间_PHP项目存储空间估算方法【方法】
jvm·数据库·python
小肝一下1 小时前
3. 数据类型
android·数据库·mysql·adb
2401_832365521 小时前
mysql如何优化mysql在多核CPU下的性能_调整线程并发数
jvm·数据库·python
m0_736439301 小时前
JavaScript中显式创建包装对象的后果与性能损耗
jvm·数据库·python
ai大模型中转api测评1 小时前
构建生产级 AI 应用:GPT-5.5 与 Claude 4.7 的 Token 成本管理与工程化实战
大数据·人工智能·gpt·自动化
Mr_sst1 小时前
文件上传并发控制:为什么选Redisson可过期信号量?(避坑指南)
网络·数据库·redis·分布式·安全架构
四维迁跃1 小时前
JavaScript中Object-defineProperties批量设置属性
jvm·数据库·python
qq_283720051 小时前
Python3 模块精讲:psycopg2(第三方)- 连接 PostgreSQL
数据库·postgresql
汽车仪器仪表相关领域1 小时前
Kvaser Memorator R SemiPro:双通道CAN总线记录仪,汽车与工业测试的高性价比之选
大数据·网络·人工智能·功能测试·汽车·安全性测试
倚楼盼风雨1 小时前
Redis 为什么快
数据库·redis·缓存