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 中实现

想对细节有了解的,建议去看源代码,其中仍是有些很是优美的实现。

相关文章
相关标签/搜索