zoukankan      html  css  js  c++  java
  • 利用ClouderaManager启动HBase时,出现 master.TableNamespaceManager: Namespace table not found. Creating...

    1、错误描述:

      出现上述这个错误的原因是我之前已经安装了Cloudera Manager中的CDH,其中添加了所有的服务,当然也包含HBase。然后重新安装的时候,就会出现如下错误:

      Failed to become active master,org.apache.hadoop.hbase.TableExistsException:hbase:namespace.

    根据上面错误的我们可以很清楚的知道,在启动Hbase的时候,由于之前安装的HBase版本的数据还存在,因此重新安装的HBase会报TableExistsException的异常。导致无法启动HBase。

      并且,之前版本的HBase的数据存放的位置是在zookeeper中,因此需要进入zookeeper的客户端查看。

    2、解决的办法

    (1)停止HBase,这一步应该忽略,因为你根本就没有启动,所以就谈不上停止了。

    (2)找到ClouderaManager自动安装的zookeeper组件的位置

        我们知道Cloudera公司安装的CDH所有的组件默认会在/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/ 目录下。因此,

        zookeeper的安装目录就是:/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/zookeeper

    (3)进入zookeeper安装目录的bin目录下:

        /opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/lib/zookeeper/bin

    (4)执行如下命令:

        ./zkCli.sh  ,则会进入zookeeper的客户端的shell界面。并在该shell界面执行 ls  /  命令,则会出现如下所示:

        

        从上图我们可以看出,zookeeper中存在hbase的数据,所以我们只需要将hbase这个删除即可。

    (5)执行删除: rmr  /hbase

    (6)重启hbase。

    ok了。

        

  • 相关阅读:
    关于数据库的索引知识
    RESTful API设计相关
    Coroutine(协程)模式与线程
    Python网络编程中的服务器架构(负载均衡、单线程、多线程和同步、异步等)
    读懂diff
    Linux学习笔记——如何使用echo指令向文件写入内容
    ubuntu中执行定时任务crontab
    网络编程之异步IO,rabbitMQ笔记
    走进docker的世界之入门篇
    xml基础
  • 原文地址:https://www.cnblogs.com/ljy2013/p/4701951.html
Copyright © 2011-2022 走看看