在安装hbase的时候,一开始由于配置原因导致并未成功运行

经常会爆 (ERROR: KeeperErrorCode = NoNode for /hbase/master) 的错误,上网查看后发现是hbase-site.xml 与hbase-env.sh 的配置问题以下先给出hbase的相关配置

 hbase-site.xml

<configuration>

<property>
    <name>hbase.rootdir</name> 
    <value>hdfs://node01:8020/hbase</value> # node01 节点端口,在hdfs-site.xml查看
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node01,node02,node03</value> # 集群的节点
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value> #重点,也是解决问题的关键,false
  </property>
  <property>
    <name>hbase.master.info.port</name>
    <value>60010</value># 设置node01web方式登录的端口号
  </property>
</configuration>

hbase-env.sh

export JAVA_HOME=/usr/local/javak1.8.0_162 #jdk路径
export HBASE_MANAGES_ZK=false # 使得hbase不要使用自身的数据库
​

regionservers

node01
node02
node03

 当然也不要忘了配置etc/profile下的总体路径

 以上总体的hbase配置就好了,然后我们将hbase发送到node02 node03

scp -r /usr/local/hbase node02:$PWD
scp -r /usr/local/hbase node03:$PWD
scp /etc/profile node02:/etc
scp /etc/profile node03:/etc

 重启虚拟机后开始进行hbase的应用 在启动hbase之前,需要先启动zookeeper与Hadoop.

切换到三台节点的zookeeper目录下,执行zkServer.sh命令

然后再执行Hadoop(我是配置过的,直接start-all.sh就可以)也可以先start-dfs.sh 再start-yarn.sh

最后输入jps查看命令

 没有问题,开始执行start-hbase.sh

出现了HMaster与HRegionServer,代表着启动成功。然后输入hbase shell到hbase数据库里面

 这时候我们可以看见没有报错KeeperErrorCode = NoNode for /hbase/master 而是报了一直存在的For usage try 'help' 'status' 

这是为什么呢?按道理来说我们该配置的所有都配置好了啊,还会报这种错?在下正是被这个错折磨了很久,搜遍csdn也找不到,后面上百度终于找到

原来是因为以前安装的HBASE有残留,只需要在Zookeeper Client端删除即可(因为之前我认为hbase版本的问题,将其卸载再安.....)

执行如下命令进入再zookeeper的client终端

${ZOOKEEPER_HOME}/bin/zkCli.sh

 发现果然存在残留!将其删除后重启虚拟机,启动zookeeper与Hadoop,在启动hbase

  

 问题解决 !!!!!!!!!!!!

现在看来这只是一个很小的问题,但是却困扰了我很久,看到csdn上面没有类似问题(没有人跟我一样蠢),但我还是选择写了自己的第一篇文章,记录一下,第一次写。

写的不好,仅供参考 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐