(软件体系结构的大作业,阅读分析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类实现,(借尸还魂)ÿ