我開始學習hbase,我不明白它是如何線性縮放的。hbase是否真的線性縮放?
問題是,在安裝hbase之前,你必須有一個hdfs集羣。 HDFS集羣有一個主節點,它在整個集羣中只能有一個,所以它是一個瓶頸。當然,我們可以運行另外1個主節點(可以只運行1個主節點),但它將處於待機狀態。 據我所知,hbase使用HDFS集羣來存儲數據。因此,對我而言,從邏輯上講,運行多個Hmaster是沒有意義的,因爲所有請求都會發送到hdfs活動主服務器,如果請求太多,性能會受到影響。
此外,我不明白我們是否需要將hbase安裝在與hdfs相同的節點上或單獨安裝。如果我們與HDFS分開運行hbase,有什麼好處。 至於我在邏輯上是在同一節點上安裝HBase的簇與HDFS如下面的例子:
HDFS active master - HMaster
HDFS standby master - HMaster backup
HDFS Data node - HRegion server
對我來說是最邏輯結構,因爲如果我們從HMASTER分離HDFS主然後概率鬆動hbase集羣將是兩倍大。
如果有人能分享有關所有這些東西的信息,我將非常高興。因爲我真的不明白hbase可以線性縮放以及它如何與hdfs協同工作。
您可以聯合HDFS,它消除了單個NN問題。請記住,NN僅用於元操作(例如,創建分區/ WAL),如果您正確配置它(只在足夠大的WAL,分割和壓縮大分區上旋轉),hbase沒有做太多的工作。 –
我在斷開hdfs主服務器的同時,試圖從數據節點讀取數據,並向我顯示錯誤。據我瞭解,當我們從數據節點讀取/寫入某些內容時,他們首先向主節點詢問一些信息。如果主節點死了,那麼我們就無法使用集羣。我可能是錯的,但它是我的假設 – Alexandr
是的你是對的,但這並不影響可擴展性,只有容錯性。當你使用HA HDFS時,你不會有這個問題。見https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html –