您好,登錄后才能下訂單哦!
小編給大家分享一下HDFS中體系結構及各自作用有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
HDFS 采用Master/Slave的架構來存儲數據,這種架構主要由四個部分組成,分別為HDFS Client、NameNode、DataNode和Secondary NameNode。
Client:就是客戶端。
1、文件切分。文件上傳 HDFS 的時候,Client 將文件切分成 一個一個的Block,然后進行存儲。
2、與 NameNode 交互,獲取文件的位置信息。
3、與 DataNode 交互,讀取或者寫入數據。
4、Client 提供一些命令來管理 HDFS,比如啟動或者關閉HDFS。
5、Client 可以通過一些命令來訪問 HDFS。
NameNode:就是 master,它是一個主管、管理者。
1、管理 HDFS 的名稱空間。
2、管理數據塊(Block)映射信息
3、配置副本策略
4、處理客戶端讀寫請求。
DataNode:就是Slave。NameNode 下達命令,DataNode 執行實際的操作。
1、存儲實際的數據塊。
2、執行數據塊的讀/寫操作。
Secondary NameNode:并非 NameNode 的熱備。當NameNode 掛掉的時候,它并不能馬上替換 NameNode 并提供服務。
1、輔助 NameNode,分擔其工作量。
2、定期合并 fsimage和fsedits,并推送給NameNode。(NameNode將對文件系統的改動追加保存到本地文件系統上的一個日志文件(edits)。當一個NameNode啟動時,它首先從一個映像文件(fsimage)中讀取HDFS的狀態,接著應用日志文件中的edits操作。然后它將新的HDFS狀態寫入(fsimage)中,并使用一個空的 edits文件開始正常操作。因為NameNode只有在啟動階段才合并fsimage和edits,所以一段時間后日志文件可能會變得非常龐大,特別是對大型的集群。日志文件太大的另一個副作用是下一次NameNode啟動會花很長時間。
Secondary NameNode定期合并fsimage和edits日志,將edits日志文件大小控制在一個限度下。因為內存需求和NameNode在一個數量級上,所以通常secondary NameNode(運行在單獨的物理機器上)和NameNode運行在不同的機器上。Secondary NameNode通過bin/start-dfs.sh在conf/masters中指定的節點上啟動。
Secondary NameNode保存最新檢查點的目錄與NameNode的目錄結構相同。所以NameNode可以在需要的時候讀取Secondary NameNode上的檢查點鏡像)
3、在緊急情況下,可輔助恢復 NameNode。
看完了這篇文章,相信你對“HDFS中體系結構及各自作用有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。