摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-19页 |
1.1 大数据的出现 | 第11页 |
1.2 云计算的出现 | 第11-13页 |
1.3 海量小文件的出现 | 第13-14页 |
1.4 海量小文件的处理 | 第14-17页 |
1.4.1 Hadoop处理小文件的问题 | 第15页 |
1.4.2 Hadoop小文件处理技术国内外研究现状 | 第15-17页 |
1.5 论文的研究内容与意义 | 第17页 |
1.6 论文的组织结构 | 第17-19页 |
第二章 Hadoop关键技术研究 | 第19-34页 |
2.1 Hadoop简介 | 第19页 |
2.2 Hadoop的构造模块 | 第19-21页 |
2.3 HDFS分布式文件系统 | 第21-26页 |
2.3.1 NameNode名字节点 | 第22-23页 |
2.3.2 HDFS文件分块 | 第23页 |
2.3.3 DataNode数据节点 | 第23-24页 |
2.3.4 Client客户端 | 第24页 |
2.3.5 HDFS文件读取 | 第24-26页 |
2.4 MapReduce并行计算模型 | 第26-28页 |
2.4.1 JobTracker作业跟踪节点 | 第26页 |
2.4.2 TaskTracker任务跟踪节点 | 第26-27页 |
2.4.3 MapReduce数据处理 | 第27-28页 |
2.5 Hadoop平台搭建 | 第28-33页 |
2.5.1 网络的搭建 | 第29-30页 |
2.5.2 软件的安装 | 第30页 |
2.5.3 集群的配置 | 第30-33页 |
2.6 本章小结 | 第33-34页 |
第三章 基于多层索引的小文件读写策略及测试分析 | 第34-60页 |
3.1 合并小文件 | 第35-36页 |
3.1.1 合并算法 | 第35-36页 |
3.1.2 合并实现 | 第36页 |
3.2 自定义输入文件分片 | 第36-38页 |
3.2.1 MapReduce分片 | 第36-37页 |
3.2.2 自定义分片的实现 | 第37-38页 |
3.3 建立多层索引 | 第38-51页 |
3.3.1 索引预处理 | 第39页 |
3.3.2 全局索引的建立 | 第39-42页 |
3.3.3 Trie树 | 第42-43页 |
3.3.4 局部一级索引的建立 | 第43-49页 |
3.3.5 索引树的分裂 | 第49-51页 |
3.3.6 局部二级索引的建立 | 第51页 |
3.4 索引的传输与放置 | 第51-52页 |
3.5 Hadoop源代码改进 | 第52-54页 |
3.5.1 NameNode源代码改进 | 第52-53页 |
3.5.2 DataNode源代码改进 | 第53-54页 |
3.6 小文件读写策略测试验证与分析 | 第54-59页 |
3.6.1 测试数据来源 | 第54页 |
3.6.2 元数据占用内存测试 | 第54-56页 |
3.6.3 合并写入测试 | 第56页 |
3.6.4 文件访问测试 | 第56-59页 |
3.6.5 数据分析 | 第59页 |
3.7 本章小结 | 第59-60页 |
第四章 基于缓存技术的小文件读取策略及测试分析 | 第60-78页 |
4.1 缓存技术 | 第60-62页 |
4.2 缓存管理算法 | 第62-66页 |
4.2.1 基于时间局部性的缓存管理算法 | 第62页 |
4.2.2 基于访问频率的缓存管理算法 | 第62-63页 |
4.2.3 Adaptive Replacement Cache算法 | 第63-66页 |
4.3 ARC算法的Java实现 | 第66-69页 |
4.4 改进的ARC算法 | 第69-74页 |
4.4.1 改进的思想 | 第70-71页 |
4.4.2 改进的实现 | 第71-74页 |
4.5 缓存预取技术的测试验证与分析 | 第74-77页 |
4.5.1 缓存使用测试 | 第74-75页 |
4.5.2 集中频繁访问测试 | 第75-76页 |
4.5.3 分散频繁访问测试 | 第76页 |
4.5.4 数据分析 | 第76-77页 |
4.6 本章小结 | 第77-78页 |
第五章 总结与展望 | 第78-80页 |
5.1 总结 | 第78页 |
5.2 展望 | 第78-80页 |
致谢 | 第80-81页 |
参考文献 | 第81-84页 |
攻读硕士学位期间取得的成果 | 第84-85页 |