您好,登錄后才能下訂單哦!
這篇文章主要介紹“HDFS的架構主要有什么”,在日常操作中,相信很多人在HDFS的架構主要有什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HDFS的架構主要有什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
前言
HDFS分布式文件系統即Hadoop Distributed Filesystem,采用master/slave架構,具有可靠性、可用性和擴展性,這也是分布式系統的三個關鍵指標。
一、HDFS架構
HDFS的架構主要:基本框架、讀寫流程、高可用、壓縮系列化5個方面介紹,本篇介紹:基本框架。
1. 下面HDFS的基本框架
1.1 NameNode
用來存儲文件系統的元數據(文件/目錄的元信息和每個文件對應的數據塊列表)和接受客戶端的RPC請求。文件包括:fsimage、editlog,也就是說NameNode在內存中的數據有兩部分組成:fsimage+不斷增加的editlog。
fsimage:是文件系統的元數據鏡像文件。
editlog:文件系統的操作日志文件(增加、刪除文件記錄)
1.2 DataNode
實際存儲數據的地方,是文件系統的工作節點(受客戶端或者namenode的調度),并且定期向namenode發送塊的列表。文件塊block(邏輯概念,便于快速查找和存儲,Replication 是block的存儲實例, Replication是多復本。默認是三個。)是存儲的基本單元,HDFS默認Block大小是128MB,假如一個文件大小為1G,那么共有8個block(1024/128=8),每個bock有多個復本分布存儲在不同的節點上。DataNode會一直保持復本數,如果一個復本損壞,系統會從其他節點讀取一個復本復制到一臺正常運行的機器上,確保復本數回到正常數值。通過向NameNode發送心跳保持與其聯系(3秒一次),如果NameNode10分鐘沒有收到DataNode的心跳,則認為其已經lost,并copy其上的block到其它DataNode。
2. 下面介紹NameNode和SecondaryNameNode的關系
2.1SecondaryNameNode
SecondaryNameNode不是NameNode的備份,而是一個輔助的NameNode,這個輔助NameNode的重要作用是定期(默認是一個小時)通過合并編輯日志和空間鏡像,以防止編輯日志過大。這個輔助的NameNode一般在另一臺單獨的物理計算機上運行,因為它占用的CPU時間和內存與NameNode相同容量的內存來執行合并操作。
2.2CheckPoint Node
可能是由于Secondary NameNode容易對人產生誤導,因此Hadoop 1.0.4 之后建議不要使用Secondary NameNode,而使用CheckPoint Node。Checkpoint Node和Secondary NameNode的作用以及配置完全相同,只是啟動命令不同 bin/hdfs namenode -checkpoint。
2.3聯邦HDFS
NameNode在內存中保存文件系統中每個文件和每個數據塊的引用關系,這個意味著在一個擁有大量文件的集群中,內存將成為限制系統橫向擴展的瓶頸。在2.x版本中引入聯邦HDFS,允許通過添加NameNode實現擴展 ,其中每個NameNode管理文件系統的中的一部分。例如一個NameNode管理/user目錄下的所有文件,另一個NameNod可能管理/share目錄下的所有文件。
到此,關于“HDFS的架構主要有什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。