您好,登錄后才能下訂單哦!
本篇內容介紹了“HDFS的原理是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、HDFS的主要設計理念
1、存儲超大文件
這里的“超大文件”是指幾百MB、GB甚至TB級別的文件。
2、最高效的訪問模式是 一次寫入、多次讀取(流式數據訪問)
HDFS存儲的數據集作為hadoop的分析對象。在數據集生成后,長時間在此數據集上進行各種分析。每次分析都將設計該數據集的大部分數據甚至全部數據,因此讀取整個數據集的時間延遲比讀取第一條記錄的時間延遲更重要。
3、運行在普通廉價的服務器上
HDFS設計理念之一就是讓它能運行在普通的硬件之上,即便硬件出現故障,也可以通過容錯策略來保證數據的高可用。
二、HDFS的忌諱
1、將HDFS用于對數據訪問要求低延遲的場景
由于HDFS是為高數據吞吐量應用而設計的,必然以高延遲為代價。
2、存儲大量小文件
HDFS中元數據(文件的基本信息)存儲在namenode的內存中,而namenode為單點,小文件數量大到一定程度,namenode內存就吃不消了。
三、HDFS基本概念
數據塊(block):大文件會被分割成多個block進行存儲,block大小默認為64MB。每一個block會在多個datanode上存儲多份副本,默認是3份。
namenode:namenode負責管理文件目錄、文件和block的對應關系以及block和datanode的對應關系。
datanode:datanode就負責存儲了,當然大部分容錯機制都是在datanode上實現的。
四、HDFS基本架構圖
圖中有幾個概念需要介紹一下
Rack 是指機柜的意思,一個block的三個副本通常會保存到兩個或者兩個以上的機柜中(當然是機柜中的服務器),這樣做的目的是做防災容錯,因為發生一個機柜掉電或者一個機柜的交換機掛了的概率還是蠻高的。
五、HDFS寫文件流程
思考:
在datanode執行create file后,namenode采用什么策略給client分配datanode?
順序寫入三個datanode,寫入過程中有一個datanode掛掉了,如何容錯?
client往datanode寫入數據時掛掉了,怎么容錯?
六、HDFS讀文件流程
思考:namenode掛掉了怎么辦,這個時候HDFS是否有相應的容錯方案。
“HDFS的原理是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。