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

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

相关推荐
Web3_Daisy14 分钟前
消除链上气泡图:为什么换仓正在成为新的链上生存策略?
大数据·人工智能·安全·web3·区块链
老华带你飞22 分钟前
房屋租赁|房屋出租|房屋租赁系统|基于Springboot的房屋租赁系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·vue·论文·毕设·房屋租赁系统
临风赏月25 分钟前
多模态数据湖对接 AI 训练的技术方案
大数据·人工智能
TDengine (老段)25 分钟前
TDengine 数学函数 ASCII 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Darenm11125 分钟前
Git介绍
大数据·elasticsearch·搜索引擎
sukida10030 分钟前
在openSUSE-Leap-15.6-DVD-x86_64-Media自制应用软件离线包——备份91个视频解码器的rpm包
数据库·redis·音视频
信仰_27399324333 分钟前
Mysql中MVCC的流程
数据库·mysql
123461611 小时前
互联网大厂Java面试:从Spring Boot到微服务的探索
java·数据库·spring boot·微服务·面试·mybatis·orm
一 乐1 小时前
农产品销售系统|农产品电商|基于SprinBoot+vue的农产品销售系统(源码+数据库+文档)
java·javascript·数据库·vue.js·spring boot·后端·农产品销售系统
攀小黑1 小时前
docker 容器内nacos(若依plus打包)连接另一台内网服务器显示数据库连接失败
服务器·数据库·docker