Hadoop 的文件系統

申明:文中大部分的圖表都來自於《Hadoop技術內幕:深刻解析Hadoop Common 和HDFS架構設計與實現原理》,若是有侵權行爲歡迎通知本文做者進行刪除。架構

1、Java 文件系統

  • 當前Java中的文件系統

  • Java中的輸入、輸出流

  • Java中輸入流的詳細狀況

2、Hadoop 抽象文件系統

  • Hadoop中當前抽象文件系統

(更多關於FileSystem的細節,請查看 Hadoop 關於文件系統的源碼)oop

  • Hadoop中的輸入、輸出流

Hadoop 中的輸入流主要有 FSInputStream,FSDataInputStreamspa

Hadoop 中的輸出流主要有 FSOutputSummer,FSDataOutputStream架構設計

該類提供了,文件內容校驗的功能,詳細瞭解請看源碼設計

  • Hadoop 中和文件系統相關的,權限模塊

Hadoop的權限系統和Linux的權限系統很是類似,詳細請參考源碼內存

3、Hadoop 具體文件系統

  • FileSystem 層次結構

在 Hadoop 中有很對文件系統都對 FileSystem 提供了實現源碼

其中的 ChecksumFileSystem: 用於在原始文件系統上添加校驗功能原理

RawInMemoryFileSystem: 實現了基於內存的文件系統。咱們重點看下ChecksumFileSystem權限

  • ChecksumFileSystem 的實現

ChecksumFileSystem 對每一個文件都會新建一個校驗文件以「.」開頭以「crc」結尾im

ChecksumFileSystem 還包含了一個輸入流和一個輸出流

對輸入流的大部分關於校驗的操做都在  FSInputChecker 中實現

想對細節有了解的,建議去看源代碼,其中仍是有些很是優美的實現。

相關文章
相關標籤/搜索