這篇文章主要為大家展示了“HDFS中元數據的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“HDFS中元數據的示例分析”這篇文章吧。
我們都知道Hadoop的底層是HDFS-Hadoop Distributed File System.也就是Hadoop分布式文件系統。
所有的運算都是基于HDFS文件的,它的核心關鍵詞有:主從NameNode VS DataNode.
-----------其中NameNode上存儲的就是元數據---描述數據文件的meta信息。
存在形式有:內存信息+硬盤文件信息。
這段時間,就讓我們一起來了解HDFS的元數據以及HDFS文件系統的要義吧。
-------------------------------------------------------------------------------------------------
試想,如果讓我們自己設計一個文件系統,我們需要元數據存儲哪些信息?
其實這取決于信息得到哪些功能?
個人認為功能包括:
1)namenode和所有datanode的IP,端口,文件夾,容量等信息。這相當于一個總體的文件系統框架描述。
2)每個datanode的文件的層次描述,文件目錄關系。這個比1就更細致了。
3)對于某個文件,知道拆分了幾塊,每塊的大小,備份情況,分別分布在哪些datanode上的哪些路徑上。
從1我們可以得到分布式文件系統框架的骨架,從2我們可以得到分布式文件系統的血肉,從3我們可以得到具體的訪問一個文件的方式。
有了以上3個,實際上就是namenode的元數據信息的組成部分,一切從應用的需求出發才可以得到設計圖。
-------------------------------------------------------------------------------------------------
啟動時,元數據從硬盤里被FSImage讀取到內存中。
在持久化時,元數據被FSImage持久化到硬盤中。
同時硬盤中也會存放操作日志edits.我目前的理解是:把操作日志的行為累加起來---》最終的元數據。
這個也就像是redis里干的一樣了。很多數據庫也是這么操作的,這個沒啥好說的,很簡答!
-------------------------------------------------------------------------------------------------
HDFS也引入了INode,這實際上跟linux中的文件系統中的INode是一樣的,其次就是由于是分布式文件系統
所以每個文件的分片在hdfs中就成了Block。塊。
這里必須要強調:塊是按照物理大小分的,而不是分局邏輯大小,這樣會引入什么問題?
就是一個邏輯記錄可能會分到2個塊中,而這2個塊可能還是跨機器的。
這些hadoop都會解決。以后再討論。
以上是“HDFS中元數據的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。