基于HDFS的海量小文件处理性能的研究与优化
发布时间:2017-10-25 00:28
本文关键词:基于HDFS的海量小文件处理性能的研究与优化
【摘要】:当前,随着计算机和信息处理技术的迅猛发展,应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。传统的存储技术在面对海量数据的挑战时显得愈加的乏力。由Apache基金会研发的分布式计算平台Hadoop,迅速成为了大部分科研机构和企业进行大数据研究的首选。与此同时,随着互联网行业的强势崛起和快速发展,催生出了海量的不同类型的小文件,而Hadoop最初的设计主要是针对大文件的存储,而对海量小文件的存储并未多加考虑。如果将海量的小文件不经任何预处理直接上传至HDFS,将会造成NameNode内存中元数据臃肿和文件访问效率低下的问题。利用Hadoop在大文件处理方面的优势,基于合并的思想对小文件进行优化处理,可以使得Hadoop同样适用于海量小文件的存储。在海量小文件优化方案实施之前,本文首先对NameNode的内存消耗和访问效率进行了量化分析,得出了可以从减少NameNode所管理的文件数量,减少DataNode从磁盘上获取数据块的时间消耗等方面着手的结论。本文的合并方案是基于MapFile实现,在进行小文件合并操作的同时为其创建索引,并将索引信息存放至HBase中,同时为了加快文件的检索效率,引入了缓存功能模块,针对小文件的特性采用了改进的缓存置换策略。鉴于HDFS提供的Hadoop Shell和Http访问方式并不能为用户带来直观清晰的体验,对文件的操作也不是很方便,本文中设计实现了一个基于CBFS的虚拟文件系统。通过该文件系统将远端的HDFS虚拟化为本地Windows文件系统中的一个磁盘,给用户带来直观体验的同时,大大方便了用户的操作。最后通过将本文提出的优化方案,与原始HDFS和Sequence file进行测试对比,发现不论是NameNode的内存高消耗还是文件访问的高延迟问题都有所改善,证明了本文提出的小文件优化方案的可行性和有效性。
【关键词】:海量小文件 HDFS 合并 索引 缓存
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP333
【目录】:
- 摘要5-6
- ABSTRACT6-10
- 第一章 绪论10-18
- 1.1 课题背景10-14
- 1.1.1 大数据的出现10-11
- 1.1.2 云计算与云存储11-13
- 1.1.3 Hadoop海量小文件问题13-14
- 1.2 研究现状14-16
- 1.3 文章的研究内容与意义16
- 1.4 文章的组织结构16-18
- 第二章 相关技术研究18-28
- 2.1 分布式集群Hadoop18-19
- 2.2 分布式文件系统HDFS19-24
- 2.2.1 HDFS综述19-21
- 2.2.2 节点间通信协议21-22
- 2.2.3 HDFS读写流程22-24
- 2.3 HBase24-27
- 2.4 本章小结27-28
- 第三章 小文件优化处理方案的设计28-54
- 3.1 总体设计28-29
- 3.2 小文件优化存储预处理29-35
- 3.2.1 HDFS小文件处理量化分析29-31
- 3.2.2 小文件的定义与检测31-32
- 3.2.3 小文件合并方法32-35
- 3.3 小文件合并35-37
- 3.4 小文件索引设计37-39
- 3.5 缓存设计39-43
- 3.5.1 缓存详细设计40
- 3.5.2 缓存数据表的容器40-41
- 3.5.3 缓存替换算法41-43
- 3.6 ARC算法43-53
- 3.6.1 ARC算法介绍43-46
- 3.6.2 ARC算法的改进依据46-47
- 3.6.3 ARC算法改进思路47-49
- 3.6.4 改进的实现49-50
- 3.6.5 缓存技术的测试与分析50-53
- 3.7 本章小结53-54
- 第四章 虚拟文件系统的实现54-70
- 4.1 系统整体设计54-56
- 4.1.1 文件上传流程54-55
- 4.1.2 文件读取流程55-56
- 4.2 基于CBFS的虚拟文件系统56-60
- 4.3 文件安全传输60-66
- 4.3.1 用户认证协议60-62
- 4.3.2 文件压缩传输62-66
- 4.4 网络文件系统NFS66-67
- 4.5 系统整体实现67-69
- 4.6 本章小结69-70
- 第五章 测试与分析70-77
- 5.1 环境搭建70-73
- 5.1.1 集群搭建70-71
- 5.1.2 集群参数配置71-73
- 5.1.3 网络文件系统配置73
- 5.2 系统整体测试与分析73-76
- 5.2.1 NameNode内存占用测试74
- 5.2.2 文件写入测试74-75
- 5.2.3 文件访问性能测试75-76
- 5.3 本章小结76-77
- 第六章 总结与展望77-79
- 6.1 总结77-78
- 6.2 展望78-79
- 致谢79-80
- 参考文献80-83
【参考文献】
中国期刊全文数据库 前4条
1 陈吉荣;乐嘉锦;;基于Hadoop生态系统的大数据解决方案综述[J];计算机工程与科学;2013年10期
2 洪旭升;林世平;;基于MapFile的HDFS小文件存储效率问题[J];计算机系统应用;2012年11期
3 曹宁;吴中海;刘宏志;张齐勋;;HDFS下载效率的优化[J];计算机应用;2010年08期
4 陈康;郑纬民;;云计算:系统实例与研究现状[J];软件学报;2009年05期
,本文编号:1091270
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1091270.html