重建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