论文部分内容阅读
当前,大数据时代中的数据信息呈爆炸式的增长,传统的技术架构已经不能满足处理海量数据的需求。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的内存消耗,提高了系统检索小文件的效率。