赞
踩
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>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。