HDFS的詳解(一)

laoma8888發表於2018-08-07
      1. 三個程式
        1)NameNode (NN): 名稱節點  --》client第一個操作的物件

        NameNode的功能: 檔案系統的名稱空間  
                                      1.檔名稱
                                      2.檔案目錄結構
                                      3.檔案的屬性(許可權 建立時間 副本數)
                                      4.檔案對應哪些資料塊--》這些資料塊對應哪些DataNode節點上,不會持久化儲存這個對映關係,透過叢集的啟動和執行時,datanode定期傳送blockReport給NN,以此NN在【記憶體】中動態維護這種對映關係。
         儲存:   維護檔案系統樹及整個樹內的所有檔案和目錄,這些資訊以兩種檔案形式永久儲存在本地磁碟上,名稱空間映象檔案fsimage+編輯日誌editlog
        2)DataNode (DN): 資料節點  --》儲存資料的

        DataNode的作用:
            1.每隔3秒傳送一次心跳  引數可配置 (預設)
            2.每隔10次心跳傳送一次blockReport  (30s)(預設)

        儲存: 資料塊+資料塊校驗,和與NN通訊
        3)Secondary NameNode(SNN): 第二名稱節點

         Secondary NameNode的作用:

                                   定期合併fsimage+editlog檔案為新的fsimage,推送給NN,稱為檢查點,checkpoint

                                  儲存: 名稱空間映象檔案fsimage+編輯日誌editlog        

                                      引數:fs.checkpoint.period-->1h    fs.checkpoint.size -->64M

2.block(資料塊)
大小: 64M  128M(目前2.x中預設)

引數: dfs.blocksize   

3.副本數
dfs.replication    : 3    一個塊會變為3個塊 

案例
1個檔案130M : 128M 2M 兩個塊     預設塊大小為128M  實際儲存: 130M*3     多少個塊: 6

4. 副本放置策略

第一副本: 放置在上傳檔案的DataNode上;
如果是叢集外提交,則隨機挑選一臺磁碟
不太慢、 CPU不太忙的節點上;

第二副本: 放置在於第一個副本不同的機
架的節點上;
第三副本: 與第二個副本相同機架的不同
節點上;

如果還有更多的副本:隨機放在節 點中;



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31496956/viewspace-2199364/,如需轉載,請註明出處,否則將追究法律責任。

相關文章