FEMA:基于HDFS的小文件读写优化算法

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:kuxinghuajia
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:HDFS(Hadoop Distributed File System)是目前面向云计算应用最为广泛的分布式文件系统,然而其面对海量小文件存储场景时其存在Namenode开销大,读写效率不理想等问题。基于此提出一种HDFS小文件读写优化算法FMEA(File Merging and name-Encoding Algorithm)。考虑文件存储的目录结构将小文件合并为大文件存储,分配块内file id,与Namenode分配的block id构成二元组唯一表示该文件,编码生成逻辑文件名并建立块内索引,提高小文件访问效率。实验结果表明,FMEA有效地降低了Namenode的内存开销,提高了小文件的读写效率,此方案适用于具有海量小文件的云存储系统。
  关键词: HDFS;小文件;FMEA;文件合并;文件名编码
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)06-0232-02
  FEMA:An Optimizational Algorithm of Small Files Stored and Readed on HDFS
  ZHANG Xin,TAN Hai
  (Information Engineering,East China University of Technology,Nanchang 330013,China)
  Abstract:HDFS (Hadoop Distributed File System) is currently the most widely distributed file system for cloud computing applications. However, it has a problem of large Namenode overhead and unsatisfactory reading and writing efficiency when faced with a large number of small file storage scenarios. Based on this, proposes an HDFS File Merging and name-Encoding Algorithm (FMEA). Consider the file structure of the file storage to merge the small files into large file storage, allocate the file id in the block, and form the binary group with the block id assigned by the Namenode to uniquely represent the file, encode the logical file name and create the blockIndex, and improve the access efficiency of small files. The experimental results show that the FMEA effectively reduces the memory overhead of the Namenode and improves the read and write efficiency of small files. This scheme is suitable for cloud storage systems with a large number of small files.
  Key words:HDFS;small files;FMEA;merge files;filename encoding
  1 引言
  分布式集群文件系統[1]在海量数据的存储与处理上表现优异,其运行在多台计算机上,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务。HDFS[2]作为Hadoop的分布式文件系统,通过运行在廉价商业机器上的多个节点之间的协同工作实现了高性能、高可用性以及动态的负载均衡,消除了单点故障以及性能瓶颈,具有高可靠性、高扩展性、高效性、高容错性、经济性等诸多优点。
  2 HDFS海量小文件存取问题
  HDFS采用主从式架构,由一个Namenode和多个Datanode组成,其中Namenode负责管理文件系统的元数据,Datanode负责数据块的实际存储[3]。由于所有文件系统的元数据均存放于Namenode内存中,因此存储文件的数目受限于Namenode的内存大小[4];此外,HDFS适用于高吞吐量的文件存储,而不适合低时间延迟的访问,同时存入million的文件要几个小时;HDFS中文件以数据块的形式存储,其默认块大小为64M,这样每个小文件都至少占用一个块[5]。因此,由于其本身的架构设计缺陷及大数据对于存储能力的要求不断攀升,HDFS并不适合大量小文件的存储[6]。
  针对以上问题,本文提出了一种基于目录结构的小文件合并优化读写策略,主要包含三个方面的内容:(1)将小文件合并为大文件,减少HDFS中文件的数目,提高存取效率。(2)将文件所在块的block id及块内file id编码生成逻辑文件名,降低Namenode内存消耗。(3)通过对逻辑文件名解码的方式建立索引,提高小文件的读取效率。
  3 小文件合并及文件名编码算法 -FMEA
  其中ClientServer是对文件判别、合并、编码模块的封装,负责响应客户端的请求、合并小文件、与HDFS交互、逻辑文件名的编码,同时还要维护一个实际文件名与逻辑文件名的索引清单。HDFS端负责数据的实际存储。   FMEA包括文件判别、文件合并以及文件编码三个过程。其中文件判别模块负责文件大小类型的识别,文件合并模块将小文件进行合并并建立块内索引,文件编码模块通过将block id及块内file id编码生成逻辑文件名并在读取文件时进行解码。
  文件判别模块通过客户端发出的文件写请求判断其为大文件还是小文件,若是大文件则直接存储至HDFS,若为小文件则交由文件合并模块进行处理。考虑到所要存储的文件均具有特定的目录结构,因此依据目录结构进行小文件合并可以提高文件的读写效率。文件合并模块将传来小文件进行合并(优先处理同一目录或父目录下的文件),若合并队列数据量超过合并阈值,放入新的队列,否则继续合并直到超过阈值。同时对块内文件分配file id并建立块内索引blockIndex,其记录的是每个HDFS block中存储的小文件的索引信息。其结构如图2所示,其中keylen表示key的长度,占用一个字节,key是文件的名称,offset和length表示该文件在块内的偏移量及长度,占用四个字节。blockIndex文件对于Namenode而言是透明的,与对应的block一起傳输,并加载在Datanode内存中,并不占用Namenode的内存。
  5 结束语
  本文针对HDFS在海量小文件存储上存在的问题提出了一种小文件合并及文件名编码优化策略-FMEA。将小文件依据目录结构合并成一个大文件存储,将file id及block id编码生成逻辑文件名,同时建立块内索引blockIndex提高文件的读取速率。通过实验验证FEMA解决了存储海量小文件时Namenode内存开销过大的问题,且有效地提高了HDFS上小文件的读写效率。
  参考文献:
  [1] 刘智慧,张泉灵.大数据技术研究综述[J].浙江大学学报(工学版),2014,48(6):957-972.
  [2] 郝树魁.Hadoop HDFS和MapReduce架构浅析[J].邮电设计技术,2012(7):37-42.
  [3] 侯建,帅仁俊,侯文.基于云计算的海量数据存储模型[J].通信技术,2011,44(5):163-165.
  [4] 付东华. 基于HDFS的海量分布式文件系统的研究与优化[D].北京邮电大学,2012.
  [5] 洪旭升,林世平.基于MapFile的HDFS小文件存储效率问题[J].计算机系统应用,2012,21(11):179-182.
  [6] 张海,马建红.基于HDFS的小文件存储与读取优化策略[J].计算机系统应用,2014,23(5):167-171.
  【通联编辑:光文玲】
其他文献
银鳞锦鲤全身有银色鳞片,鳞片在白底或黑底上呈银色光泽,夏日池塘里若有几尾银鳞锦鲤,只要一点光束,便令池塘满池生辉。银鳞锦鲤的鳞片闪耀着金色、银色光芒,似珍珠、宝石一
剂型是指药物制剂的形态。它是根据药物的性质和临床要求,为使药物发挥最大疗效,减少毒副作用,便于生产、运输、贮存和应用而制成的具有一定质量标准的制剂。中成药剂型的选
摘要:利用VB6.0编程计算和对数据自动处理,编制了一套块石稳定性计算的通用软件,计算结果可以直接显示在界面上。该计算软件能够准确、合理的确定采用块石作为护面的海堤稳定性,具有计算准确、操作性强等优点,适用于各种采用块石作为护面层的稳定性计算。  关键词:VB;块石稳定性;护面结构  中图分类号:TP311 文献标识码:A  文章编号:1009-3044(2019)22-0274-04  开放
混凝土作为建筑工程施工的主要材料,其质量优劣在一定程度上决定了建筑工程整体质量高低。基于此,本文探析了建筑工程混凝土施工质量控制对策,旨在通过分析当前混凝土施工中
新世纪对于人才培养的要求是德智体美劳全面发展.在这样的前提下,素质教育得到了进一步的发展,艺术类的课程也逐步受到重视.音乐课程作为艺术类课程中相当重要的一环,自然要