论文部分内容阅读
分布式文件系统HDFS可扩展性高、容错能力强,能够部署在廉价设备上,具有较强的数据处理能力。但HDFS仍有许多不够完善的地方。本文深入分析HDFS运行机制,主要针对HDFS海量小文件存储机制、副本放置机制,提出存在的缺陷并给出优化方案。HDFS最初的研发是为了存储大文件,当往HDFS集群中上传海量小文件时,则NameNode需要保存大量元数据,容易引起NameNode内存瓶颈。当用户频繁访问小文件时,需不断访问NameNode,并进行DataNode节点切换,导致数据访问效率低下。针对海量小文件存储问题,本文提出了基于特征值分类算法的小文件合并策略。该策略对所有待上传到集群的小文件用VSM向量空间模型进行分类关联,合并成大文件后上传到HDFS集群。分类过程中对文件进行分词、提取特征词,然后进一步合并成大文件,这样则避免了小文件存储所带来的麻烦。合并文件中加入索引和缓存机制,改善了 NameNode内存消耗问题,同时提高了小文件读取速度。HDFS默认的副本存储机制没有考虑到DataNode具有异构性。若不同性能的节点存储同样多的数据副本,势必导致负载不均衡的现象。针对这一问题,本文充分考虑每个节点的异构性后,提出基于DataNode节点评价值的副本存储策略。该策略提供一个API接口,允许集群中的用户通过该接口来自定义所关心的节点状态。并对TOPSIS算法进行优化处理,用优化后的算法对节点进行评价。此策略同样将网络距离因素考虑进来,进而选择最优的节点来存放副本。从而提高负载均衡,提升系统性能。通过实验,将本文改进的两种策略和已有的方案进行对比。结果表明本文提出的优化方案提高了文件的读写效率,对HDFS整体性能具有一定提升作用。