NameNode的介紹:node
NameNode是HDFS的核心,也稱爲master,它僅存儲元數據(文件系統中全部文件的目錄樹)oop
NameNode不存儲實際的數據或數據集,數據自己存儲在DateNodes中ast
NameNode知道HDFS中任何給定文件的塊列表及其位置信息,當NameNode集羣
關閉時,Hdfs/Hardoop集羣沒法訪問date
DateNode的介紹:下載
Datanode啓動時,他將本身發佈到NameNode 並彙報本身負責持有的塊列表請求
當某個dataNode 關閉時,不會影響數據或集羣的可用性程序
DateNode會按期(默認3秒鐘)向Namenode發送心跳,若是NameNode長時間數據
沒有收到心跳信息,就認爲datenode失效。客戶端
DataNode還會按期的(默認是6小時)向nameNode發送本身所持有的塊信息
HDFS的工做機制:
NameNode負責整理整個文件系統元數據:DataNode負責管理具體的文件數據塊
存儲:secondary NameNode協助NameNode進行元數據的備份
HDFS寫數據流程:
1)客戶端請求上傳文件
2)Namenode檢測文件系統目錄樹,若是目錄樹中相應位置不存在,則返回客戶
端能夠上傳,請求上傳文件的3個備份,檢測dataNode 的信息池,返回3個可用的
dataNode的地址信息
3)創建鏈接,請求數據傳輸,創建管道plpeline-->創建數據傳輸流(以大小爲64K的包
爲單位)
4)dataNode保存傳遞過來源源不斷的數據包,
HDFS讀數據流程:
1)客戶端請求讀取文件
2)NameNode 向客戶端返回跟請求相關的文件全部的元數據信息
3)客戶端向dataNode請求下載下載文件的不一樣數據塊並進行合併
MapReduce的運行介紹:
1)MRAppmaster:負責整個程序過程調度以及狀態協調
2)MapTask:負責Map階段整個數據處理流程
3)ReduceTask:負責reduce階段的整個數據處理流程