wiki:waue/2010/0122

Version 4 (modified by waue, 14 years ago) (diff)

--

重建 hbase
砍掉重練法

前言

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

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

安裝

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

設定

1. 停止 hbase

$ bin/stop-hbase.sh

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

$ jps

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

2. 修改設定檔

conf/hbase-site.xml

... 
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value> your_host_name,  ... </value>
    </property>
....

conf/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