HDFS架構(Master-Slave)
- 幾個行程的角色
- nameNode(master):用于保存、管理、持久化檔案的元資料(檔案名、檔案副本數、檔案塊大小、檔案塊串列),同時還要接收客戶端的檔案讀寫請求,
- secondaryNameNode:用于實時同步檔案元資料,給nameNode服務做副本,擔當高可用備份,nameNode處于正常狀態時secondaryNameNode只sandBy,
- dataNode(slave):真正存盤檔案塊,分布在每個節點上,
- dfsClient:向hdfs發請求,當用戶發起一個hdfs檔案讀、寫、查詢等請求時,集群都會啟動一個dfsClient行程,dfsClient先訪問nameNode獲取檔案元資料,然后根據元資料決議出檔案分片的分布情況,最后去各dataNode完成真正的讀寫,它扮演著用戶與hdfs互動中間人的角色,同時檔案的拆分和拼裝也是在dfsClient行程完成的,
- HDFS檔案讀寫流程
- 讀取:系統接收到用戶讀請求后,首先啟動一個dfsClient行程,這個行程拿著用戶傳遞的檔案路徑等資訊,傳遞給nameNode,nameNode回傳檔案分片的分布節點串列,dfsClient就近讀取檔案分片,并將各分片拼裝為完整檔案回傳給用戶,
- 寫入:系統接收到用戶寫請求后,首先啟動一個dfsClient行程,這個行程將寫入檔案的資訊提交給nameNode,nameNode根據集群情況將檔案進行分片和位置規劃,再將規劃資訊回傳給dfsClient,dfsClient根據規劃資訊將檔案切分成特定的塊,然后根據位置規劃分別與對應的dataNode建立管道,將分片傳輸到對應的dataNode上,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/29378.html
標籤:大數據
上一篇:Yarn架構
