HDFS架構
NameNodeDataNodeSecondary NameNode
元數據存儲信息示例:

上傳文件到hdfs工作流程:

詳解:
客戶端API先請求namenode,如果這個路徑存在那么返回(元數據信息)可以分配的datanode給客戶端API,假設這個文件512M,hdfs設置的每塊128M,客戶端API將其切分為3塊,向datanode寫入塊信息。然后每個塊寫完后,這時已經客戶端API已經完成上傳工作了,我們設置的是每個塊有3個副本此時每塊還有2個副本未寫入,這時由寫入好的datanode將塊復制給下一個datanode,再由下一個datanode復制給下一個datanode,以此類推去建立副本,如果其中有一個副本建立失敗,會報告給namenode,由namenode重新分配一個datanode將副本復制過去
namenode元數據管理機制:

SecondaryNameNode合并edits和fsimage:

namenode通知SecondaryNameNode進行checkpoint操作,先產生一個新的edits.new文件,停止往舊的edits文件寫數據SecondaryNameNode把舊的edits文件和fsimage文件下載下來,在SecondaryNameNode合并edits和fsimage,做checkpoint操作,完成后上傳給namenode,替換到老的fsimage,把edits.new重命名為edits
datanode:Datanode是文件系統的工作節點,他們根據客戶端或者是namenode的調度存儲和檢索數據,并且定期向namenode發送他們所存儲的塊(block)的列表。yarn:ResourceManagerYARN中的資源管理器(Resource Manager)負責整個系統的資源管理和調度,并內部維護了各個應用程序的ApplictionMaster信息,NodeManager信息,資源使用信息等。提交給 yarn,yarn產生applicationmaster,產生一個運行資源的容器,指定存儲結果的目錄,yarn分配好資源后,啟動你程序的主管進程,程序的運算邏輯yarn不管
新聞熱點
疑難解答