理解Hadoop分散式檔案系統HDFS(二)

anickname發表於2016-02-02

hdfs federation--hdfs聯邦,Hadoop 2.0以後引入的兩大重要特性之一(HA和聯邦)。HA保證了在主namenode節點出故障當機之後,備namenode節點迅速接管主namenode工作,從而使得叢集不間斷的對外提供服務。hdfs在資料儲存節點datanode上支援水平擴充套件,而namenode不支援水平切分。其所儲存的檔案數量依賴namenode記憶體大小,只有一個namenode節點對上層應用提供服務,記憶體壓力和資源開銷巨大。為了緩解這種壓力,使其能夠水平伸縮,引入hdfs聯邦機制。實際上,hdfs聯邦對已有的hdfs改動很小,大多是在datanode節點上做改動。


應用場景:

  為外部應用獨立的提供基於namenode/namespace的檔案系統,各自之前互不影響,自行管理。其實就是多namenode,每個namenode對應一個外部應用提供服務。

機制:

  通過namenode/namespace+block pool(內部自治)實現hdfs聯邦。名稱空間(namenode/namespace)管理著目錄、檔案、資料塊,支援對資料檔案的各種操作,如修改、刪除、新建等操作,而塊池則管理著資料庫的儲存,同樣支援對資料庫的各種操作。允許一個HDFS叢集中存在多個NameNode同時對外提供服務,這些NameNode分管一部分目錄(水平切分),每個namespace都有一個block pool,彼此之間相互隔離,但共享底層的DataNode儲存資源。


優勢:

  1.支援namenode/namespace水平擴充套件,結構簡單,向後相容(不需要改動現有的namenode配置)。

  2.效能,多namenode提高吞吐量。

  3.隔離性,為不同的應用程式或使用者分配不同的名稱空間,便於管理和維護。


詳情參見該博文:HDFS Federation


相關文章