好程序員大數據點睛:關於HDFS的二三事

 1.Hadoop自帶的一個稱爲HDFS的分佈式文件系統,即Hadoop Distributed Filesystem。它是以流式數據訪問模式來存儲超大文件,運行於商用硬件集羣上;node

2.超大文件,目前能夠存儲PB級別數據了;分佈式

3.流式數據訪問;oop

4.商用硬件,廉價機器便可;優化

5.低時間延遲的數據訪問,記住HDFS是爲高數據吞吐量應用優化的,這可能會以提升時間延遲爲代價,目前對於低延遲的訪問需求,HBase是更好地選擇;進程

6.大量的小文件,因爲namenode將文件系統的元數據存儲在內存中,所以該文件系統所能存儲的文件總數受限於namenode的內存容量。根據經驗,每一個文件目錄和數據塊的存儲信息大約佔150字節,因此這類文件不是用在HDFS中;內存

7.多用戶寫入任意修改文件,HDFS中的文件寫入只支持單個寫入者,並且些操做老是以"只添加"方式在文件末尾寫數據。它不支持多個寫入者的操做,也不支持在文件的任意位置進行修改。可能之後會支持這些操做,但他們相對比較低效。it

關於HDFS的三個節點:io

1. Namenode:HDFS的守護進程,用來管理文件系統的命名空間,負責記錄文件是如何分割成數據塊以及這些數據塊分別被存儲到哪些數據節點上,它的主要功能是對內存及IO進行集中管理;集羣

2.Datanode:文件系統的工做節點,根據須要存儲和檢索數據塊,而且按期向namenode發送他們所存儲的塊的列表;後臺

3.Secondary Namenode:輔助後臺程序,與NameNode進行通訊,以便按期保存HDFS元數據的快照;

4.HDFS Federation(聯邦HDFS):經過添加namenode實現擴展,其中每一個namenode管理文件系統命名空間中的一部分。每一個namenode維護一個命名空間卷,包括命名空間的源數據和該命名空間下的文件的全部數據塊的數據塊池;

5.HDFS的高可用性(High-Availability):Hadoop的2.x發行版本在HDFS中添加了對高可用性(HA)的支持。在這一實現中,配置了一對活動-備用(active-standby)namenode。當活動namenode實效,備用namenode就會接管它的任務並開始服務於來自客戶端的請求,不會有明顯的中斷。

相關文章
相關標籤/搜索