第一章绪论
1 .1云存储研究背景
1 .1 .1云存储的概念
云计算这个概念最早是由谷歌提出来的,谷歌本身业务需求庞大,需要大量的硬件设备的支持,传统的分布式计算和存储需要专有昂贵的机器做支撑,因此,为了变废为宝,谷歌重新设计其体系结构,利用虚拟化技术,将大量的低端PC机整合成为性能强大的服务器集群。云计算的这一演变过程,我们可以从中对其概念有一个直观的了解:云计算通过使用虚拟化技术,将大量性能一般的普通PC机网络互联,同时使用分布式计算等技术,搭建起能够处理大数据量、满足高性能要求的一种新型的计算形式。维基百科给出的定义更为直观,它称云计算是一种新型的计算形式,这种计算形式可以共享廉价的软硬件资源和信息,使用虚拟化技术,可以按需将这些资源分配给应用或用户。
为更直观的了解云计算的概念,我们从技术和用户两个角度来解析云计算这种新型的训一算形式。从技术角度看,云计算就是提供计算资源或存储设备的分布式网络计算形式。因此,“云”这个概念更多的是拥有了一种形象化的比喻的成分在里面,它既很好地比喻了训一算和存储的服务非本地化,又很好的说明了计算和存储过程是不可见的。对于现有的已经架设的云计算系统或集群,其依然是以数据中心的形式存在,然同传统的数据中心相比,其在理念以及技术上,却发生了翻天覆地的变化。它摒弃了对大型机器单机性能的追求,而是使用虚拟化技术,利用分布式计算方式,将大量低成本的普通PC机搭建成能够处理海量数据的服务器集群;它摒弃了传统意义上的主机操作系统,而是采用分布式虚拟化集群管理技术来实现对集群的管理和控制;它最大化引入虚拟化技术,将云端共享的数据、软件、硬件等资源按照需要分配给用户或应用,拥有极其强大的灵活性和可扩展性。
从用户的角度来看,云计算就相当十是信息仓库以及信息的加工厂,用户不再从企业购买软件产品和硬件设备,而是直接使用浏览器或其他客户端来获取远程存储的信息或调用远程运行的程序,更多的是使用由云服务供应商提供的一种服务。这一点也使得互联网公司的商业模式发生了一定的转变,尤其是以IBM为例,由以往的硬件设备、软件供应商转变为了信息服务供应商。用户通过使用这些信息服务供应商提供的服务,免去了本地的存储空间和计算,最大化地降低了本地系统对存储以及计算的要求。
云存储是由云计算衍生出来的。通常,云存储一般包含了两方面的含义:一方面云存储是指云计算的存储部分,也就是说云计算的运算过程中所需要的资源和信息存储的部分。另一方面是指一种服务形式,云存储服务提供商提供设备或存储空间,用户通过使用浏览器或其他客户端使用该服务,免去本地存储开销。本论文中所述的云存储属十后者,确切的说是云存储服务。
我们在介绍云计算的概念的时候就不断强调着云计算包括存储和计算,因此,从上述云计算概念上理解的两个角度出发,我也可以将云存储作如下理解。从技术的角度出发,云存储就相当十是一个数据中心,同传统的数据中心不同的是,云存储的存储介质不再是昂贵的专有存储设备,而是采用大量廉价的普通PC机所使用的硬,大大降低了数据中心的成本投入;同时,结合虚拟化技术,可以为每个用户动态调整所拥有的存储容量,具有强大的灵活性和可扩展性。从用户的角度看,云存储就是一个远程的数据仓库,用户使用浏览器或其他客户端存储或获取远程的资源,用户不再购买大容量存储设备,而更多的是购买云存储服务提供商提供给的存储容量。
1.1.2.云存储的优势
随着信息量的大规模增长,企业用十存储数据的投入也越来越大,迫切需要新的存储解决方案来改变现状,节约存储成本,减少存储投入,云存储应运而生。前面有介绍过,云计算雏形就是Google为变废为宝而设计产生的,因此,云存储架构有其得天独厚的优势,是传统集中式存储所无法取代的。有关云存储的优势主要有如下几个方面:节约成本。节约成本表现在两个方面,一方面,云服务提供商可以使用廉价存储设备提供存储服务,另一方面用户省去存储设备的投入。云存储架构使用了大量的廉价存储设备来充当存储容器,大大节约了成本投入,使得企业存储服务成本降低,为云存储服务商提供大容量存储服务提供可能。传统集中式或分布式存储,为保证数据容错性和备份,需采用专用的昂贵的存储设备来存储数据,这样就使得传统存储服务供应商投入成本过大,无法提供大空间的存储服务给用户。典型的就是以前的邮箱服务,很多邮箱服务免费存储空间上限为2G,远远无法满足用户需求。云存储的出现,使这一情况大大改观,现有云存储服务供应商开放的产品.
第三章 对小文件存储............ 25-37
3.1. 小文件存储问题............ 25
3.2. 小文件存储优化............ 25-29
3.2.1. 小文件优化............ 25-27
3.2.2. 小文件优化............ 27-29
3.2.3. 小文件优化............ 29
3.3. 小文件存储优化............ 29-31
3.4. 实验结果及............ 31-35
3.5. 本章小结............ 35-37
第四章 对单一 NameNode 节点............ 37-51
4.1. 单点 NameNode ............ 37
4.2. 可扩展的多 NameNode............ 37-41
4.2.1. 优化难点............ 37-38
4.2.2. 基于 MongoDB............ 38-41
4.3. 基于 MongoDB 的多 NameNode............ 41-48
4.4. 实验结果及............ 48-50
4.5. 本章小结............ 50-51
第五章 云存储平台............ 51-74
5.1. 云存储平台架构............ 51-53
5.1.1. 总体设计............ 51
5.1.2. 存储平台............ 51-53
5.1.3. 数据库设计............ 53
5.1.4. Hadoop 文件............ 53
5.2. 云存储平台环境............ 53-57
5.2.1. 服务器集群............ 53-56
5.2.2. 开发环境............ 56-57
5.3. 云存储平台功能............ 57-66
5.3.1. 云存储平台功............ 57-58
5.3.2. 云存储平台............ 58-59
5.3.3. 文件上传............ 59-61
5.3.4. 文件共享............ 61-64
5.3.5. 文件下载............ 64-65
5.3.6. 文件浏览............ 65
5.3.7. 文件的............ 65-66
5.4. 云存储平台结果............ 66-73
5.4.1. 面向用户的............ 66-70
5.4.2. 系统监控系统............ 70-73
5.5. 本章小结............ 73-74
结论及展望
本文首先介绍了当前云存储现在及云存储研究的意义,然后在分析HDFS架构的基础上,给出当前HDFS架构的一些不足。按着在第二部分对当前HDFS的一些不足给出了一些优化方案及实现。第二部分则在当前HDFS的基础上搭建云存储平台,实现了文件的上传、下载、共享、浏览等功能。本文围绕HDFS的优化以及云存储系统的实现,主要做了如下工作:
.针对HDFS在支持小文件存储不足的问题,提出了小文件存储解决方案,并通过实验证明,该方案有效减少了小文件兀数据信息对NameNode内存空间的损耗,极人程度上扩展了HDFS的命名空间。
.针对HDFS单一NameNode瓶颈的问题,提出了基于MongoDB的解决方案,通过实验表明,多NameNode架构有效扩展了HDFS的命名空间,提高了HDFS集群并发处理能力,避免了单一NameNode处理人批量并发访问时的瓶颈问题。