HDFS

? ? ? ? ? ? HDFS是HADOOP的分布式文件系統,它的設計目標是存儲海量數據,為網絡中的大量客戶端提供數據訪問。

? ? ? ? ? ? 在hdfs中單個文件被拆分多個固定大小的block,保存在各個datanode中,訪問一個文件通常需要訪問多個datanode才能獲取完整的數據。

? ? ? ? ? ? datanode中的一個block是以單獨的文件形式保存的,并提供對metadata的快速訪問結構。每個metadata較小,為了保證隨機快速訪問是存放在namenode節點的內存中,metadata在設計上也是非常緊湊的,所以即使一個內存很小的namenode也能支持超大數據的訪問。

? ? ? ? ? ? 元數據存儲在內存中存儲同時也是持久化的,當metadata修改后會存儲在本地文件FsImage中,同時使用事務日志EditLog記錄每次變動列表。

? ? ? ? ? ? HDFS的namenode基于主從架構,避免單點故障,失效轉移。從namenode維護2個數據結構,metadata鏡像文件及EditLog。

? ? ? ? ? ? block默認是64M或128M,并不意味著小文件(小于64M)會任然占用64M的存儲空間。實際上小文件只占用它實際需要占用的磁盤空間。這不是說大量的小文件對整個hdfs文件系統沒有影響:實際上當大量的小文件會占用大量的metadata,而metadata的大小是固定的,從而給整個hdfs的查詢、擴展上上來帶了負面影響。

? ? ? ? ? ? datanode的復制:如果沒有datanode復制功能,可以想的到的缺陷,文件被拆分成多個block存放在不同的datanode上,如果其中的某臺datanode出現了故障,整個文件將不能還原。為了避免此問題,hdfs提供在多臺機器上進行復制過程,默認是3臺,在配置datanode復制因子的時候,填寫2即可。

? ? ? ? ? ? 在hdfs中block的復制是寫操作中的一部分,文件通過客戶端寫入到某個datanode中,當寫入的數據滿足一個block大小時,就向namenode申請復制,namenode會分配一個datanode進行復制,并記錄該block的datanode列表,知道該block的列表長度達到設定的數量時不再分配datanode。

Paste_Image.png

? ? ? ? ? ? 在復制過程中,如果分配的datanode發生了故障,namenode會再分配一個datanode進行重新復制,并將無效的datanode從列表中移除。當block復制完成后,通知namenode復制完成,列表長度+1;

? ? ? ? ? ? namenode會每3s接收datanode的心跳報告,通過報告驗證datanode上的信息和metadata存儲的信息一致。namenode利用這些心跳來標識datanode是否失效,失效的記為死機狀態,不再向其發送任何io操作,除非datanode再次向namenode發送心跳。

? ? ? ? ? ? HDFS重要特性:機架感知,如果一個block存放的datanode在不同機架上(或不同的地理位置),獲取文件的最快速度就是從同一機架或機房上獲取block。最簡單的策略就是每個機架(地區)上都有一份block副本,在整個機架丟失數據也不會丟失同時也做到了數據均勻分布,但這樣對于寫操作消耗較大,每次寫都要復制到不同的機架(地區)上。

? ? ? ? ? ? 機架感知策略可以理解為,metadata記錄了每個block副本的ip地址,通過ip段匹配策略來區分哪個block離該namenode最近,視為最近的block。以減少跨機架(地區)IO。

? ? ? ? ? ? HDFS文件的操作:hdfs shell或客戶端 。

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

推薦閱讀更多精彩內容

  • 認識HDFS HDFS的特點: 高容錯性高吞吐量故障的檢測和自動快速恢復流式的數據訪問大數據集一次寫入,多次讀寫 ...
    Bloo_m閱讀 3,285評論 6 8
  • 首先,我們在使用前先看看HDFS是什麼?這將有助于我們是以后的運維使用和故障排除思路的獲得。 HDFS采用mast...
    W_Bousquet閱讀 4,223評論 0 2
  • hdfs是什么? 問題: 1. hdfs是基于什么樣的原理將文件分塊存儲到分布式環境中的各個設備上的? 2. h...
    4762d2980c91閱讀 4,753評論 0 6
  • [cp]一首新的原創出鍋了希望你們能夠喜歡。 《現實》 三年了,我一直在等你,等你能夠來到我身邊的那天。可你為了他...
    蘇a晨啊閱讀 176評論 0 2
  • 辭職到現在還有4天就滿一個月了,家里人分成兩派,一派是希望我能盡快找到工作,不虛晃時光,一派是希望我能找到我喜歡的...
    平凡我的一生閱讀 191評論 0 0