Hadoop 项目文件系统源代码分析
1. 题目介绍
随着分布式计算技术的不断发展,云计算已经成为目前最为流行的分布式计 算范型。目前各大厂商,包括 Google、微软、IBM、亚马逊等,都开发了商业的 云计算平台,利用云计算平台进行大规模数据的存储和处理。云计算平台以现有 的商业系统为核心,其中一个非常重要的特征是以现有操作系统的文件系统为基 础,提供透明的、基于文件系统的数据共享机制。
本题目的主要内容是对目前开源领域著名的云计算平台 Hadoop 中底层的,对文件系统的支持机制进行深入分析与理解,得出其设计理念,根据分析结果考 虑如何向Hadoop中加入对Windows文件系统的支持。最终给出对应的代码分析报告与实验过程报告。
2. 相关知识
文件系统知识
需要了解多种操作系统下的文件系统的相关知识,主要包括 Linux ext3 ext4、FTP、 Windows ntfs 等。
Hadoop (版本?)
Hadoop[1]是开源社区著名的云计算平台,根据提供的源代码包即可满足阅读 需求。
Eclipse
Eclipse[2]是由 IBM 等公司支持的开源集成开发环境,本项目中建议采用 Eclipse 作为阅读相关源代码的工具。
3. 作业要求
主要工作
- 阅读教师提供的前期分析报告[3],并仔细阅读与修正。
- 下载 JDK1.6.x、Apache的构建工具 Maven[4]、Eclipse 3.4[2],构建阅读代
码的环境。 - 在详细阅读源代码的基础上,理解设计思想,并给出软件架构图。
[ ] 在软件架构图的基础上,给出源代码(相关的源代码)的详细类图和核心过程的顺序图。说明源代码的设计如何与设计思想(点击查看官方PPT)呼应。
核心过程
- 创建文件
- 创建目录
- 删除文件
- 。。。。
[ ] 在明确详细设计的基础上,以源代码中的相关代码为例证明自己的判断。
- 通过阅读源代码,深刻体会 Hadoop 云计算平台与文件系统(底层?)之间的关系。修正提供的分析报告,给出完整的分析过程与修订后的报告。
4. 作业提交
- 以小组为单位提交一个项目报告,详细说明 4.3.1 节中 2-6 的要求。项目 报告要明确给出小组分工情况。(本项占 30 分)
- 以小组为单位提交一个讲解幻灯片,讲解时间为 15 分钟。(本项占 30 分)
- 相关的代码分析与注释。(本项占 20 分)
- 展示实现的代码(对windows的支持,问老师说不一定要跑通),并说明代码改进的地方并给出理由。(本项占 20 分)
参考文献
[1] Hadoop项目.http://hadoop.apache.org/
[2] Eclipse 下载. http://www.eclipse.org/downloads/
[3] Hadoop 源代码分析报告
[4] Apache 构建工具 Maven. http://maven.apache.org/
