Hadoop HDFS

產生背景:分布式文件管理系統,源自于Google的GFS(Goole File System)論文,GFS的開源克隆版

重點:分布式,易擴展(增加機器來增加存儲量,多副本)

HDFS架構

1.master(主節點 NameNode/NN)和多個salve(副節點 DataNode/DN)

一個文件按照一定規則拆分成多個Block (一般為128M為一塊)

NN:(1)負責客戶端請求的響應

?? ?? (2)負責元數據的管理【名稱,副本系數,Block存放的DN】

DN:(1)存儲用戶的文件隊形的數據塊(Block)

?? ?? (2)定期向NN發送信息,匯報其本身和所有Block,狀態

經典部署:NameNode+N個DataNode

副本存放策略:本Rack(機架)放置一個,另一機架放置在不同節點分別放置(不作要求總共為3份)

優點:

? ? 數據冗余,硬件容錯(block,多副本)

? ? 適合批處理

? ? 處理流式的數據訪問

? ? 適合存儲大文件

? ? 可構建在廉價機器

缺點:

? ? 不適合低延遲的數據訪問

? ? 不適合小文件存儲

? ? 并發寫入、文件隨機修改(只支持append追加)

組成結構:

? ? Client:客戶端用戶程序

?? ??? ??? ??? ??? ?切分文件成數據塊

?? ??? ??? ??? ?? ? 與NameNode交互,獲取文件的位置信息

?? ??? ??? ??? ?? ? 與DataNode交互,讀取對應數據塊

?? ??? ??? ??? ?? ? 管理和訪問HDFS

? ? NameNode(Master):集群管理者,負責者

?? ??? ??? ??? ??? ??? ??? ?? ???? ??? ?管理HDFS名稱空間

?? ??? ??? ??? ??? ??? ??? ?? ? ?? ??? ?管理數據塊的映射關系

?? ??? ??? ??? ??? ??? ??? ?? ? ?? ??? ?配合副本策略

?? ??? ??? ??? ??? ??? ??? ?? ? ?? ??? ?客戶端的讀寫請求

? ? SecondaryNameNode:輔助NameNode

?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?? ? 分擔工作量

?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?? ? 定期合并image鏡像文件和edits日志文件,并推送給NameNode

?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?? ? 緊急情況恢復NameNode

? ? DataNode(Slave):實際存儲數據

?? ??? ??? ??? ??? ??? ?? ? ?? ??? ?存儲實際的數據塊

?? ??? ??? ??? ??? ??? ??? ??? ?? ? 執行數據塊的讀寫操作?

解決NameNode單點故障:

?? ?namdNode(active)與nameNode(standby(備用))數據的共享存儲(zoookeeper解決兩者之間同步問題)

?? ?jnNode(日志,鏡像文件(fsimage))

?? ?zoookeeper接收nameNode的心跳,調控nameNode接替工作

?? ?HA架構擴展nameNode

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容