前言

在hbase shell中进行数据存入操作,出现了无响应等情况

zookeeper异常可能问题:

  1. 自行安装了zookeeper并启动,然后启动hbase时未配置导致结点冲突。

问题1

先关闭zookeeper、hbase、hadoop

配置hbase:

  • 修改原本配置文件 hbase-env.sh
HBASE_MANAGES_ZK = false。
  • 配置hbase-site.xml
<!-- 单机配置hdfs存储hbase数据位置,否则每次数据会成为临时文件重启消失 -->
<property>
   <name>hbase.rootdir</name>
   <value>hdfs://localhost:9000/hbase</value>
</property>
<!-- 单机配置外部zookeeper -->
 <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value> 
  </property>
<property>
   <name>hbase.zookeeper.quorum</name>
   <value>localhost</value>
</property>
<property>
   <name>hbase.zookeeper.property.clientPort</name>
   <value>2181</value>
</property>

配置立即生效

source hbase-site.xml
source hbase-env.sh

注意hbase架构于hadoop的hdfs文件系统,因此启动顺序是:

:/usr/local/hadoop$ ./sbin/start-dfs.sh
:/usr/local/hbase$ ./bin/start-hbase.sh
:~$ zkServer.sh start 

后续问题汇总

进行配置以后似乎并没有直接解决问题,相继出现下列问题

org.apache.hadoop.hbase.PleaseHoldException:Master is initializing

尝试解决方法

  • 检查数据块是否损坏:我的并没有损坏

注:检查的文件夹是hbase-site.xml中配置的rootdir位置

:/usr/local/hadoop/bin$ hdfs fsck /hbase/data 

如果损坏: 使用hdfs fsck -delete path命令删除数据不健康的位置

  • 查看log发现底部报错信息:
    log文件位置:/hbase/logs/xxxx.log
hbase:meta,,1.1588230740 is NOT online; state={1588230740 state=OPEN, ts=1592187659283, server=xx-xx,16020,1589766086663}; ServerCrashProcedures=true. Master startup cannot progress, in holding-pattern until region onlined.

查了解决方法是登入zCli删除原hbase,注意系统对应的命令

:/usr/local/zookeeper/bin$ zkCli.sh  -server localhost:2181

查看目录

ls /


发现存在hbase文件夹,删除
网上有人说是rmr命令,但是新版本似乎没有了,使用如下命令解决

deleteall /hbase

依次重启解决报错

更多推荐

ERROR: no meta znode available