(软件体系结构的大作业,阅读分析hadoop文件系统)
写在前面/后面
FileSystem = abstractFileSystem -》 面向文件系统实现者
FileContext -》面向应用程序编写者
FS中具体的文件系统作为最基层的类,用于实现对对应的文件系统的读取,同一继承自FileSystem/AbstarctFileSystem,HDFS是单独的一套系统,对等于VFS,用于操作不同的文件系统。HDFS虽然继承于AbstractFileSystem,主体又DFSClient类实现,(借尸还魂),只是为了做一个文件系统的样子,内在的实现在另外一个HDFS的文件夹里(有单独的DFSInputStream),独立于fs文件夹
FileSystem的结构:
extends Config(提供访问配置文件的功能)
文件创建,读取,重命名,拷贝,删除等操作
GlobFilter
description:A class that could decide if a string matches the glob or not
Cache:
Caching FileSystem objects,内含有hashMap
Statistics:
statisticsTable是一个IdentityHashMap
BlockLocation:
包含一个文件块的详细信息(全部副本,主机端口,网络拓扑结构,块文件长度,偏移,块长度等)
java
string[] {副本主机};
string[] {副本主机端口};
string[] {主机网络中的拓扑路径};
FileStatus:
extends PathFilter,用来过滤文件,或的想要的文件。
获取文件状态,path.length,isdir,block_replocation等
Trash:
垃圾桶的功能
fs有用文章:
http://huashuizhuhui.iteye.com/blog/1867511
http://huashuizhuhui.iteye.com/category/209973
其他类:
DFSClinet:
DFSClient can connect to a Hadoop FileSystem and perform basic file tasks.It uses the ClientProtocol to commuicate with a NameNode daemon,and connects directly to DataNodes to read/write block data.HDFS users should obtain an instance of DistributedFileSystem,whith uses DFSClient to handle fileSystem tasks.
要求
阅读教师提供的前期分析报告[3],并仔细阅读与修正。
–
下载 JDK、Apache 的构建工具 Maven[4]、Eclipse[2],构建阅读代码的环 境。
–
在详细阅读源代码的基础上,理解设计思想,并给出软件架构图。
FS中具体的文件系统作为最基层的类,用于实现对对应的文件系统的读取,同一继承自FileSystem/AbstarctFileSystem,HDFS是单独的一套系统,对等于VFS,用于操作不同的文件系统。HDFS虽然继承于AbstractFileSystem,主体又DFSClient类实现,(借尸还魂),只是为了做一个文件系统的样子,内在的实现在另外一个HDFS的文件夹里(有单独的DFSInputStream),独立于fs文件夹
在软件架构图的基础上,给出源代码的详细类图和核心过程的顺序图, 说明源代码

本文深入剖析了Hadoop文件系统(FileSystem)的架构,包括FileSystem的抽象层、GlobFilter、缓存、统计信息、BlockLocation和文件状态等功能。重点讨论了HDFS的实现,指出HDFS是基于AbstractFileSystem的,内部主要由DFSClient实现。此外,文章还探讨了不同文件系统如S3、FTP、Kosmos和S3的实现差异,并强调了FileSystem如何为HDFS提供统一接口以屏蔽不同文件系统的特性。

672

被折叠的 条评论
为什么被折叠?



