Hbase 部署中的幾個問題解決.

1.問題:

  1. 關於AWS,S3之類的錯誤.
  2. Hmaster沒有 或者是 Hmaster啓動之後幾秒關閉.
  3. 解決問題’3’後HRegionServer 啓動之後幾秒關閉.

2.方法:

  1. 看日誌,但是要分清看的是 Hmaster日誌,和 HRegionServer日誌,以及 *.log日誌,*.out日誌.
  2. 善用Google. 所謂善用, 搜索詞的選擇,用英文還是中文.
  3. 最後發現是缺jar包。

3.具體解決

1. 關於AWS,S3之類的錯誤.

解決方法就是:
思路: 將Hadoop下的jar包複製到hbase下,還有那個aws的jar包。

// 拷貝 Hadoop下的包到hbase
find /home/hadoop/software/hadoop/share/hadoop -name "hadoop*jar" | xargs -i cp {} /home/hadoop/software/hbase/lib/

// 拷貝aws*.jar
find /home/hadoop/software/hadoop/share/hadoop -name "aws*jar" | xargs -i cp {} /home/hadoop/software/hbase/lib/

再次使用“start-hbase.sh”啓動,可以看到

HMaster
2. Hmaster進程沒有或者是幾秒後消失

解決掉問題1中的錯誤之後,沒有了關於AWS的報錯,執行命令”start-hbase.sh”之後,”jps”一看,少了Hmaster。

看日誌是解決問題的先決條件.

思路: hbase-site.xml配置文件

具體解決方法:

    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://new1data/hbase</value>
   </property>
正確的做法是**要寫hdfs的集羣名稱**,自己繼承過來的部署文檔沒有出錯或是沒有更新.
注意,這裏是要看hbase-hadoop-master-$HOST.log 日誌,不是其他日誌,這樣才能正確定位到出錯位置.


修改配置文件中關於ZooKeeper的配置.
增加以下一段設置:

    <!--運行hbase的用戶有寫入文件權限的目錄作爲zookeeper數據目錄 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/software/zookeeper/data</value>
    </property>
3. 解決問題’2’後HRegionServer 啓動之後幾秒關閉.
執行zkClient.sh進入zk客戶端,
ls /查看目錄結構,應該有一個hbase目錄,rmr  /hbase,刪除這個目錄,
重新啓動habse,應該就沒問題了,這步很關鍵,很容易忽略,讓zk重新註冊hbase.
這種推倒重來,釜底抽薪的辦法有時候很管用.

更新文檔
記錄問題解決思路,方法,癥結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章