重建hbase

前言

之前有討論到 單機安裝 hbase ,以及叢集安裝,但若架設好叢集之後,發現架構想要換成單機,似乎不是少一台電腦而已,因為把另外一台電腦的regionserver停止,但整個hbase叢集就是會不斷地報錯。

本篇討論如何不破壞正常的 hdfs 為前提,將原有的hbase砍掉重練,而非 無痛增加減少節點。

安裝

安裝參考之前的hbase 0.20 安裝相關的文章,接下來討論的是設定。

設定

1. 停止 hbase

$ bin/stop-hbase.sh

確認hbase 停止再進行之後的步驟

$ jps

* 執行jps ,如果只出現 hadoop的程序而沒有hbase 的程序就ok

2. 修改設定檔

hbase-site.xml

...

<property>

<name>hbase.zookeeper.quorum</name>

<value> your_host_name, ... </value>

</property>

....

regionservers

your_host_name

...

...

3. 刪除餘孽

刪除在 hbase-site.xml 所指定的 hbase.tmp.dir ,相關的 log, pid 資料 (本文放在 /var/hadoop/hbase-xxx)

$ rm -rf /var/hbase/hbase-*

刪除 hbase 在 hdfs 上的資料

$ hadoop dfs -rmr /hbase

4. 重新啟動

$ bin/start-hbase.sh

5. Good Luck

補充

ps : 順帶一題, hbase shell 模式內,執行任何指令出現的訊息很多,長得很像error message ,因此有點嚇人,

其實有些根本只是info ,想要讓他安靜一點,可以到 conf/log4j.properties 將 LEVEL 層級改小一點

DEBUG < INFO < WARN < ERROR < FATAL

因此要安靜一點就把他改成

# Custom Logging levels

log4j.logger.org.apache.zookeeper=ERROR

log4j.logger.org.apache.hadoop.hbase=ERROR