利用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了。

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM