HDFS基礎概念
數據塊(block)
HDFS(Hadoop Distributed File System)默認的最基本的存儲單位是64M的數據塊。
和普通文件係統相同的是,HDFS中的文件是被分成64M一塊的數據塊存儲的。
不同於普通文件係統的是,HDFS中,如果一個文件小於一個數據塊的大小,並不占用整個數據塊存儲空間。
NameNode和DataNode
HDFS體係結構中有兩類節點,一類是NameNode,又叫"元數據節點";另一類是DataNode,又叫"數據節點"。這兩類節點分別承擔Master和Worker具體任務的執行節點。
1)元數據節點用來管理文件係統的命名空間
其將所有的文件和文件夾的元數據保存在一個文件係統樹中。
這些信息也會在硬盤上保存成以下文件:命名空間鏡像(namespace image)及修改日誌(edit log)
其還保存了一個文件包括哪些數據塊,分布在哪些數據節點上。然而這些信息並不存儲在硬盤上,而是在係統啟動的時候從數據節點收集而成的。
2)數據節點是文件係統中真正存儲數據的地方。
客戶端(client)或者元數據信息(namenode)可以向數據節點請求寫入或者讀出數據塊。
其周期性的向元數據節點回報其存儲的數據塊信息。
3)從元數據節點(secondary namenode)
從元數據節點並不是元數據節點出現問題時候的備用節點,它和元數據節點負責不同的事情。
其主要功能就是周期性將元數據節點的命名空間鏡像文件和修改日誌合並,以防日誌文件過大。這點在下麵會相信敘述。
合並過後的命名空間鏡像文件也在從元數據節點保存了一份,以防元數據節點失敗的時候,可以恢複。
元數據節點目錄結構
VERSION文件是java properties文件,保存了HDFS的版本號。
layoutVersion是一個負整數,保存了HDFS的持續化在硬盤上的數據結構的格式版本號。
namespaceID是文件係統的唯一標識符,是在文件係統初次格式化時生成的。
cTime此處為0
storageType表示此文件夾中保存的是元數據節點的數據結構。
namespaceID=1232737062
cTime=0
storageType=NAME_NODE
layoutVersion=-18
數據節點的目錄結構
數據節點的VERSION文件格式如下:
namespaceID=1232737062
storageID=DS-1640411682-127.0.1.1-50010-1254997319480
cTime=0
storageType=DATA_NODE
layoutVersion=-18
blk_<id>保存的是HDFS的數據塊,其中保存了具體的二進製數據。
blk_<id>.meta保存的是數據塊的屬性信息:版本信息,類型信息,和checksum
當一個目錄中的數據塊到達一定數量的時候,則創建子文件夾來保存數據塊及數據塊屬性信息。
文件係統命名空間映像文件及修改日誌
當文件係統客戶端(client)進行寫操作時,首先把它記錄在修改日誌中(edit log)
元數據節點在內存中保存了文件係統的元數據信息。在記錄了修改日誌後,元數據節點則修改內存中的數據結構。
每次的寫操作成功之前,修改日誌都會同步(sync)到文件係統。
fsimage文件,也即命名空間映像文件,是內存中的元數據在硬盤上的checkpoint,它是一種序列化的格式,並不能夠在硬盤上直接修改。
同數據的機製相似,當元數據節點失敗時,則最新checkpoint的元數據信息從fsimage加載到內存中,然後逐一重新執行修改日誌中的操作。
從元數據節點就是用來幫助元數據節點將內存中的元數據信息checkpoint到硬盤上的
checkpoint的過程如下:
從元數據節點通知元數據節點生成新的日誌文件,以後的日誌都寫到新的日誌文件中。
從元數據節點用http get從元數據節點獲得fsimage文件及舊的日誌文件。
從元數據節點將fsimage文件加載到內存中,並執行日誌文件中的操作,然後生成新的fsimage文件。
從元數據節點獎新的fsimage文件用http post傳回元數據節點
元數據節點可以將舊的fsimage文件及舊的日誌文件,換為新的fsimage文件和新的日誌文件(第一步生成的),然後更新fstime文件,寫入此次checkpoint的時間。
這樣元數據節點中的fsimage文件保存了最新的checkpoint的元數據信息,日誌文件也重新開始,不會變的很大了。
最後更新:2017-04-03 16:48:33
上一篇:
Design Pattern: Template Method 模式
下一篇:
Design Pattern: Strategy 模式
為什麼Hibernate 3中的HQL無法查詢漢字
Linux係統中重啟tomcat的一般步驟
相關聊天工具 微(陸(台球熱賽娛樂賽每晚南口路底(水樹奈(閆(中華人民共和國稅收征收管理法(主席令第四十九號) 2015年8月15日 - 會關於修改〈中華人民共和國文物保護法〉等十二部法律的決定》(主席令第...第八十九條 納稅人、扣繳義務人可以委托稅務代
安裝Microsoft Expression Web 2.0出現1603錯誤的解決方法
was 與myeclipse 8.5的整合
C# 使用LINQ、泛型、Index函數優化switch(或者多條if)語句
actionbar詳解(二)
Eclipse圖文詳解安裝SVN(Subclipse)插件方法,教程!
poj 1517 u Calculate e
這是一個測試信息