错误提示信息如下

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
在这里插入图片描述

错误背景

错误原因:按照林子雨的大数据教程搭建好Hbase环境后,我使用创建表和添加一些属性的命令,一开始非常正常,但是当我输入一个中文的时候,通过get命令显示的时候出现的十六进制编码,本质上是对的,但是我更加希望能得到语义信息更加明显的中文。于是我在网络上面搜到了转换为中文的命令,但是我输入命令的时候不小心少点了一个右括号,导致hbase卡死,我只能终止虚拟机程序,当我第二次进入的时候,测试describe命令失效,创建新表仍然报错。我意识到是整个hbase环境出现了问题。

解决方法

包括CSDN,网络上很多人给出了不同的解决办法,但是对我来说都无用。通过分析,我最终通过更改hbase数据存储文件解决了这个问题。我的理解是:强制退出导致hbase存储文件中出现了意外的错误标注,导致hbase无法写入这个文件,也无法读取这个文件,因为根据hbase设计原理,一个主机上的文件出现问题那么以后都不能使用这个主机的东西,如果需要使用,则需要较为复杂的配置。我使用的是单机模式,因此hbase无法更改执行路径,导致hbase无法正确执行。
无论如何,我的解决方法是:修改hbase数据保存文件夹
操作如下:
打开并配置/usr/local/hbase/conf/hbase-site.xml 文件

vim /usr/local/hbase/conf/hbase-site.xml

在启动 HBase 前需要设置属性 hbase.rootdir,用于指定 HBase 数据的存储位置。此处设置为 HBase 安装目录下的 hbase-tmp 文件夹即(/usr/local/hbase/hbase-tmp),配置如下:

<configuration>
 <property>
 <name>hbase.rootdir</name>
 <value>file:///usr/local/hbase/hbase-tmp</value>
 </property>
</configuration>

修改为:

<configuration>
 <property>
 <name>hbase.rootdir</name>
 <value>file:///usr/local/hbase/hbase-tmp1</value>
 </property>
</configuration>
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐