Hadoop小文件存储管理的研究与实现
发布时间:2017-08-03 03:20
本文关键词:Hadoop小文件存储管理的研究与实现
更多相关文章: Hadoop HDFS 小文件 存储 检索 合并 索引
【摘要】:当前,大数据时代中的数据信息呈爆炸式的增长,传统的技术架构已经不能满足处理海量数据的需求。Apache基金研发的Hadoop平台迅速被应用到各个领域中,成为了许多企业的首选。Hadoop作为一种海量数据分析处理平台,具有高容错、易扩展、廉价存储等特点,被设计用来存储大文件的存储系统。但伴随着网络社交和移动互联网技术的飞速发展,产生了海量小文件,于是在研究应用中HDFS也被应用于小文件的存储。由于HDFS采用主从式的架构模式,海量的小文件产生的元数据给主节点带来了沉重的内存压力,致使系统读取效率低下,形成了性能瓶颈。 针对Hadoop平台处理海量小文件问题具有的节点内存消耗和读取缓慢等缺点,通过现有基于小文件合并的策略和量化分析,可以得到部分解决。但是相关处理方案的索引设计缺陷以及未考虑文件相关性,造成了小文件的读取缓慢,NameNode负载过重,实用性不足等问题。论文针对Hadoop平台处理海量小文件时NameNode内存消耗过度和文件检索效率低下的问题,在吸取其他研究者优秀策略的基础之上和在内存消耗、访问性能量化方法的基础分析之上,提出了基于分钟时间段的合并算法和多级索引的Hadoop处理小文件的优化方案,该方案主要思想是依据小文件的创建时间,选择对应分钟时间段内的小文件进行合并存储,并且依据小文件创建时间到合并文件名称之间的映射关系创建小文件到Block和Block所在的DataNode之间的全局索引。另外依据小文件名称和扩展名建立小文件到具体Block以及Block内地址信息的Trie树索引,并按照扩展名对索引进行分片,建立局部双层索引机制,放置在DataNode内存中以加快HDFS系统小文件检索性能。论文给出了该优化方案在Hadoop集群的具体实现,包括小文件合并、MapReduce自定义输入分片、全局索引和局部双层索引的建立等相关算法的实现,以及主从节点设置等技术问题的解决,此外,还对提出的小文件处理优化方案进行了量化分析。 通过对本文提出的小文件优化方案与HAR归档技术进行节点内存消耗,小文件读取速率和小文件合并写入等指标数据的对比测试与分析,实验结果表明,本文提出的小文件合并算法跟HAR归档技术一样有效的降低了Hadoop处理小文件时的NameNode内存消耗过多的问题。另外,多级索引机制则比HAR归档技术所具有的双层索引更有效地减轻了检索小文件时NameNode的内存消耗,提高了系统检索小文件的效率。
【关键词】:Hadoop HDFS 小文件 存储 检索 合并 索引
【学位授予单位】:北京交通大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP333
【目录】:
- 致谢5-6
- 摘要6-7
- ABSTRACT7-12
- 1 引言12-18
- 1.1 研究背景12-13
- 1.2 研究现状13-15
- 1.2.1 Hadoop处理小文件的问题13
- 1.2.2 国内外研究现状13-15
- 1.3 研究内容与意义15-16
- 1.4 本文的组织结构16-18
- 2 相关技术研究18-28
- 2.1 Hadoop分布式平台18-19
- 2.2 分布式文件系统HDFS19-25
- 2.2.1 名称节点NameNode20-21
- 2.2.2 DataNode和Client21-22
- 2.2.3 节点间通信协议22-23
- 2.2.4 HDFS读写流程23-25
- 2.3 MapReduce编程模型25-26
- 2.4 Trie索引树26-27
- 2.5 本章小结27-28
- 3 小文件处理优化方案的设计28-38
- 3.1 HAR归档技术28-29
- 3.2 Hadoop小文件处理性能量化29-31
- 3.2.1 NameNode内存消耗29-30
- 3.2.2 小文件访问时间30-31
- 3.3 小文件存储优化设计31-33
- 3.3.1 小文件合并策略31-32
- 3.3.2 存储流程设计32-33
- 3.4 小文件检索优化设计33-34
- 3.4.1 多级索引策略33
- 3.4.2 检索流程设计33-34
- 3.5 小文件处理优化方案的量化分析34-36
- 3.5.1 NameNode内存消耗35-36
- 3.5.2 小文件读写性能36
- 3.6 本章小结36-38
- 4 小文件处理优化方案的实现38-53
- 4.1 小文件合并38-42
- 4.1.1 小文件定义与检测38-39
- 4.1.2 小文件合并算法39-40
- 4.1.3 MapReduce输入分片自定义40-42
- 4.2 多级索引42-50
- 4.2.1 全局索引42-44
- 4.2.2 局部一级索引44-48
- 4.2.3 局部二级索引48-50
- 4.3 HDFS节点改进50-52
- 4.3.1 局部索引的放置50-51
- 4.3.2 主从节点的修改51-52
- 4.4 本章小结52-53
- 5 测试与分析53-64
- 5.1 Hadoop平台搭建53-56
- 5.1.1 集群搭建53-54
- 5.1.2 配置集群参数54-56
- 5.2 测试设计与准备56-57
- 5.2.1 测试设计56-57
- 5.2.2 测试数据57
- 5.3 对比测试57-62
- 5.3.1 小文件合并写入测试57-58
- 5.3.2 节点内存消耗测试58-60
- 5.3.3 小文件访问性能测试60-62
- 5.4 测试分析62-63
- 5.5 本章小结63-64
- 6 总结与展望64-66
- 6.1 工作总结64-65
- 6.2 研究展望65-66
- 参考文献66-69
- 作者简历及攻读硕士学位期间取得的研究成果69-71
- 学位论文数据集71
【参考文献】
中国期刊全文数据库 前6条
1 董世晓;;云计算开源先锋Hadoop——第四届Hadoop中国云计算大会纪实[J];程序员;2010年10期
2 袁玉;崔超远;乌云;陈祝红;;单机下Hadoop小文件处理性能分析[J];计算机工程与应用;2013年03期
3 张春明;芮建武;何婷婷;;一种Hadoop小文件存储和读取的方法[J];计算机应用与软件;2012年11期
4 陈吉荣;乐嘉锦;;基于Hadoop生态系统的大数据解决方案综述[J];计算机工程与科学;2013年10期
5 王铃惠;李小勇;张轶彬;;海量小文件存储文件系统研究综述[J];计算机应用与软件;2012年08期
6 陈康;郑纬民;;云计算:系统实例与研究现状[J];软件学报;2009年05期
,本文编号:612445
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/612445.html