2016-08-04 81 views
1

不知從HBase的-site.xml中明白一個參數:如何在HA模式下配置HBase?

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://hdfsHost:8020/hbase</value> 
</property> 

我們必須把該參數如果我們在HA模式下配置的HDFS集羣是什麼?我的意思是我們有2個名稱節點(nn1,nn2)和2個數據節點(dn1,dn2),那麼我們必須在「hbase.rootdir」參數中使用哪個節點?

最合乎邏輯的答案是當前活動的名稱節點。但是如果我們使用活動名稱節點並且失敗,那麼即使我們的nn2將其狀態更改爲活動狀態,hbase集羣也將變得不可用。 Hbase集羣不會理解我們已經改變了我們的主動NN。

而且,我已經配置的HBase集羣具有以下參數:

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://nn1:8020/hbase</value> 
</property> 

它不工作。
1. HMASTER開始
2.我把 「http://nn1:16010」 到瀏覽器
3. HMASTER消失

這裏是我的日誌/ HBase的-Hadoop的主nn1.log:
http://paste.openstack.org/show/549232/

我在文檔中找不到答案。請幫助我瞭解如何配置它

回答

1

您應該在其中插入整個名稱服務而不是具體的namenode。我假設你只配置了一個名稱服務。查看hdfs-site.xml中的dfs.nameservices屬性。那裏應該有「nameservice1」之類的東西。然後換hbase.rootdir像這樣:

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://nameservice1:8020/hbase</value> 
</property> 

fs.defaultFS核心-site.xml中屬性也使用相同的符號)

有一點需要注意的是,HBase的應該訪問HA的最新hdfs配置。否則,它會抱怨名稱服務名稱。

-3

將hdfs-site.xml和core-site.xml複製到hbase/conf文件夾,這樣您將看不到您創建的HA名稱服務的未知名稱的錯誤。

+1

答案並不符合OP的問題。 – Fabien

相關問題