面向HDFS的批量文件存储性能的研究与优化
发布时间:2017-06-15 12:04
本文关键词:面向HDFS的批量文件存储性能的研究与优化,由笔耕文化传播整理发布。
【摘要】:随着经济、社会和科技的发展,个人电脑、智能手机等设备大规模普及,互联网应用越来越广泛和深入,人们进入了大数据的时代。云计算、大数据、云存储共同组成了学术界和商业界研究的前沿课题。Hadoop是目前主流的开源大数据平台,已经成为处理大数据问题事实上的标准,它涵盖一个能够实现云计算、云存储功能的生态系统;其中HDFS作为Hadoop最底层的基础设施,为其提供了高可靠性、高可扩展性的数据存储管理服务,HDFS的工作效率直接决定了Hadoop其他上层工具的性能,也极大地影响了基于HDFS的应用系统的工作效率。 HDFS尽管具有很多优点,但是依旧处于不断发展成熟的过程中,特别是当处理大规模数据集时会出现很多问题,具体表现在NameNode节点单点失效、NameNode节点内存瓶颈和负载过大、大量文件访问时DataNode节点磁盘I/O寻址频繁、HDFS集群后台管理工作负载过大等等,这些都极大地制约了HDFS作为一个分布式文件存储系统的应用。为此,本文在对]HDFS进行详细介绍和相关性能因素分析的基础上,从访问性能和系统架构两方面对HDFS进行了优化,进一步提高HDFS的工作效率。本文的主要工作及创新点如下: 1,在研读HDFS系统源代码的基础上,介绍了HDFS典型操作流程和后台管理工作,剖析了HDFS中元数据架构体系和通信机制,讨论了HDFS系统在批量文件处理时面临的一些问题和缺陷。 2,针对批量文件存储时存在的问题,重构了批量文件存储的机制和读写流程。在写入批量用户文件时,Client客户端将批量文件合并成一个组文件,并且创建用户文件、数据片段、组文件、数据块之间的映射元数据,然后将组文件和相关元数据都存储到HDFS中;在读取批量用户文件时,Client客户端首先获取用户文件的元数据,其次按照存储位置对数据片段进行分类,然后按类向DataNode发出数据读取请求,获得所有数据片断,最后将数据片段组装成用户所求的文件。 3,在批量文件存储优化的基础上,提出了将NameNode节点中容易分离的元数据迁移存储到Redis服务器节点的方法,实现“元数据分布,访问分布”,以此来进一步降低NameNode节点的内存消耗和访问负载。 4,对于以上的优化方案,在HDFS开源系统上做了编程实现,并进行了实验测试,实验结果验证了优化策略的有效性。
【关键词】:Hadoop分布式文件系统 批量文件 系统架构 Redis
【学位授予单位】:南京师范大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333
【目录】:
- 摘要4-5
- Abstract5-11
- 第一章 绪论11-16
- 1.1 研究背景和意义11-12
- 1.2 研究现状12-14
- 1.3 本文主要工作及结构安排14-16
- 第二章 HDFS系统的介绍和性能相关因素分析16-30
- 2.1 HDFS系统中的元数据分析16-22
- 2.1.1 文件和目录的元数据信息16-18
- 2.1.2 数据块及副本的元数据信息18-19
- 2.1.3 文件、数据块、数据节点之间的映射关系19-20
- 2.1.4 NameNode节点集中统一管理的元数据信息20-22
- 2.2 HDFS系统中的通信机制分析22-24
- 2.3 HDFS系统中典型操作解析24-26
- 2.3.1 文件写入操作24-25
- 2.3.2 文件读取操作25-26
- 2.3.3 数据块复制操作26
- 2.4 HDFS系统中主要后台管理工作26-28
- 2.5 HDFS系统性能相关因素分析与面临的问题28-30
- 第三章 HDFS中批量文件存储的优化30-54
- 3.1 批量文件存储的优化策略30-35
- 3.1.1 文件数据部署原则32
- 3.1.2 用户文件合并操作32-33
- 3.1.3 数据片段的关联性分析33
- 3.1.4 数据片段的组装33-34
- 3.1.5 “先伪删除,后真删除”策略34-35
- 3.2 相关的元数据类型与结构35-36
- 3.3 相关算法36-41
- 3.3.1 文件数据部署算法36-38
- 3.3.2 用户文件合并算法38-39
- 3.3.3 数据片段关联性分析算法39-40
- 3.3.4 数据片段的组装算法40-41
- 3.4 批量文件的操作流程与接口41-45
- 3.4.1 批量文件的写入操作41-42
- 3.4.2 批量文件的读取操作42-44
- 3.4.3 以组文件方式写入的文件的删除操作44-45
- 3.5 程序功能实现45-47
- 3.6 实验47-54
- 3.6.1 实验环境47
- 3.6.2 时间性能测试结果与数据分析47-51
- 3.6.3 NameNode元数据大小测试结果与数据分析51-54
- 第四章 HDFS系统架构优化方案54-69
- 4.1 NoSQL概述54-55
- 4.2 NoSQL数据库产品简介55-57
- 4.3 Redis数据库介绍57-61
- 4.3.1 Redis是什么57-58
- 4.3.2 Redis的数据类型58-59
- 4.3.3 Redis的客户端库59
- 4.3.4 Redis的事务、持久化与主从复制59-61
- 4.4 HDFS系统架构的优化策略61-64
- 4.5 程序功能实现64-65
- 4.6 实验65-69
- 4.6.1 实验环境65
- 4.6.2 时间性能测试结果与数据分析65-67
- 4.6.3 NameNode元数据大小测试结果与数据分析67-69
- 第五章 总结和展望69-71
- 5.1 总结69-70
- 5.2 展望70-71
- 参考文献71-75
- 致谢75
【参考文献】
中国期刊全文数据库 前9条
1 张健;;云计算概念和影响力解析[J];电信网技术;2009年01期
2 王敏;;改进的双向选择排序算法[J];信息技术;2010年09期
3 范凯;;NoSQL数据库综述[J];程序员;2010年06期
4 曹宁;吴中海;刘宏志;张齐勋;;HDFS下载效率的优化[J];计算机应用;2010年08期
5 张春明;芮建武;何婷婷;;一种Hadoop小文件存储和读取的方法[J];计算机应用与软件;2012年11期
6 江敏;双向选择排序算法[J];泰州职业技术学院学报;2005年01期
7 周可;王桦;李春花;;云存储技术及其应用[J];中兴通讯技术;2010年04期
8 刘小俊;徐正全;潘少明;;一种结合RDBMS和Hadoop的海量小文件存储方法[J];武汉大学学报(信息科学版);2013年01期
9 洪旭升;林世平;;基于MapFile的HDFS小文件存储效率问题[J];计算机系统应用;2012年11期
本文关键词:面向HDFS的批量文件存储性能的研究与优化,由笔耕文化传播整理发布。
,本文编号:452357
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/452357.html