您现在的位置是:首页 > IT基础架构 > 计算存储 >

基于Hadoop的企业云存储技术探索

2013-07-15 12:59:33作者:余庆檄来源:

摘要本文在对基于Hadoop的企业云存储构建所依赖的云计算技术以及Hadoop平台作分析说明的基础上,就基于Hadoop的企业云存储的实现进行探究。...

  Hadoop作为一个分布式的Apache开源计算机组织框架,它可以运行在廉价的中型或者大型集群的硬件设备上,为应用程序的开发提供了一套稳定可靠的接口应用程序。它的这些优势使基于Hadoop的企业云存储平台的构建即经济又便捷,同时能够为企业的数据管理提供存储服务的同步升级和安全管理,在企业管理领域具有很好的前景。

  1 基于Hadoop的企业云存储所依赖的云计算及其体系结构

  1.1 云计算概述。云计算是一种新型的基于数据中心的一个数据密集型超级计算方法,它是虚拟化、网络存储、网格计算、分布式计算以及并行计算等传统计算机技术和网络技术发展融合的产物。云计算所依赖的核心技术主要包括编程模型、虚拟化技术、数据存储和管理技术。另外,由于云计算系统需要满足用户的大量需求,所以云计算的数据存储技术需要具有很高的吞吐量,由于分布式存储能够很好的满足云计算数据存储的这种需求,因此,云计算平台下的数据存储一般多采用分布式存储结构,而且增加了必要的数据存储安全保障机制,在很大程度上提高了云存储平台下数据的可用性和可靠性。

  1.2 云计算的体系结构。云计算的体系结构主要由用户端、服务目录、系统管理、配置工具、监控、服务器集合几个模块构成。其中,用户端主要实现用户与云系统的交互;服务目录主要用于显示该用户有权限操作和访问的所有服务的目录列表;系统管理用来管理系统资源的分配情况;配置工具用来配置客户端和服务器所需要的各种操作环境;监控主要用来监控和计算云系统资源的使用情况;服务器集合用于实现云系统中的所有服务器的集成。

  2 Hadoop及其核心设计分析

  2.1 Hadoop概述。

  Hadoop起源于开源搜索引擎ApacheNutch,它是当前应用比较广泛的一种文本搜索库。其中,Hadoop主要包括HDFS(Hadoop 分布式文件系统)以及MapReduce 引擎两项核心设计。HDFS 是Hadoop分布式文件系统的缩写,Hadoop 分布式计算存储相关功能实现均需要HDFS 所提供的底层支持。MapReduce 主要负责相关数据索引任务的分解与结果的汇总。

  Hadoop 的优点主要体现在如下几个方面:一是经济性,Hadoop 框架对计算机的硬件没有特殊的要求,可以在普通的PC 机上运行,因此,不需要加大对硬件的成本投入;一是可扩展性,Hadoop 不需要修改任何已有的结构,就可以很容易的实现扩展;三是高效性,Hadoop 核心设计中的HDFS 所具备的高效数据交互机制为高效处理海量的数据信息提供了重要的技术支撑;四是可靠性,Hadoop 核心设计中的MapReduce 所实现的任务监控机制确保了Hadoop 框架分布式处理的可靠性,另外HDFS 的备份恢复机制又更好的确保了数据的可靠性。

  2.2 Hadoop 的核心设计分析

  (1)Hadoop 分布式文件系统(HDFS)。HDFS 体系的底部是Hadoop 分布式文件系统的存储节点,所有的文件存储在Hadoop 集群节点都存储在这里。从外部客户的角度来看,HDFS 像传统的分层文件系统。客户可以任意创建、删除、移动或重命名文件等。但HDFS 的架构是基于节点构造的一个特定的设置,这是由其自身的特点决定的。这些节点包括NameNode(只有一个),NameNode 是不同的机器上涉及到HDFS 运行的一个通常的软件,它负责访问文件系统名称空间和控制外部客户的管理,因为只有一个NameNode 节点,所以HDFS 容易出现单点故障的问题,这是HDFS 的一个重要缺陷;数据节点(DataNode),当服务器从HDFS 客户端上获得读写请求的响应时,这些数据节点就可以根据这个报告完成块映射和其他文件系统元数据验证。

  HDFS 的主要任务是要保证客户能够以流的形式访问写入的文件。其中,HDFS 的工作原理如下:客户预想将文件写到HDFS 上时,先将该文件缓存到本地的临时存储中。如果所需的HDFS 块的大小不能满足缓存数据的实际需求时,需要借助NameNode 和DataNode 来创建额外的文件存储块,其中NameNode 用于相应创建文件的请求,DataNode 用以标识保存额外所需文件块副本的 存储块。在完成以上操作的基础上,客户就可以将临时文件借助NameNode 和DataNode 通过管道方式将文件块内容不断写到 HDFS 上。在最后的文件块发送之后,NameNode 将文件创建提交到它的持久化元数据存储,这样客户就能够以流的形式访问写入的文件。

  (2)MapReduce。MapReduce 是一个编程模型和处理产生大数据集的相关实现。用户指定一个map 函数处理一个

  key/value 对,从而产生中间的key/value 对集。然后再指定一个reduce 函数合并所有的具有相同中间key 的中间value。

  3 基于Hadoop 的云存储系统的实现

  3.1 基于Hadoop 的云存储系统结构。基于Hadoop 的云存储系统主要由客户端、Web 操作系统、eyeOS、云服务器以及云存储中心组成。

  (1)客户端。系统的前端即客户端,客户端可以通过网页浏览器来便捷的访问云存储系统。

  (2)云端服务器。基于Hadoop 的云端服务器主要有一系列的云存储中心所构成,云端服务器主要负责文件系统名称空间的管理以及外部访问云存储系统客户的管理。

  (3)web 操作系统。它主要负责接收来自客户端的各种访问请求,eyeOS 作为web 操作系统的核心,为客户提供了大量的应用程序,客户可以结合自己的实际需求下载这些应用程序,从而可以有效实现客户端系统的个性化配置。

  (4)云存储中心。云存储中心是由大量的基于Hadoop 数据节点的服务器所组成的,主要用于实现文件数据信息的分布式存储。

  3.2 基于Hadoop 的云存储系统文件操作的实现。基于Hadoop 的云存储系统文件操作基本上可分为两类:即读文件读和写文件。客户要读一个文件,需要把该文件下载到本地,通过应用软件和网络操作系统,将文件处理后显示给用户;如果要对文件进行修改和保存的写操作,需要通过网络操作系统将要修改和保存的本地文件上传到云存储系统。

  读文件的流程如下:

  (1)客户端通过浏览器访问Web操作系统,通过发出双击文件图标的驱动事件请求借助eyeOS 向Hadoop 的管理节点发出获取文件请求。

  (2)管理节点将查找到的客户端请求的相应文件信息通过数据节点发送到客户

  (3)客户端将接受的数据信息合并成一个文件后借助与文件关联的应用程序来显示文件信息 从而完成文件的读操作。

  写文件的流程如下:

  (1)客户端浏览器通过web 操作系统借助eyeOS 向Hadoop 的管理节点发出上传文件请求。

  (2)管理节点接收到客户端的文件上传请求后,根据客户请求要上传文件的大小合理分配存储空间。

  (3)客户将要上传的文件上传至云存储系统中,完成文件的写操作。

  Hadoop 作为一个在集群上运行大型数据库处理应用程序的开放式源代码框架。它是通过Google 的MapReduce 编程范例来创建并执行的应用程序,在很多大型企业网站上都已经得到了应用,可以说是目前最为广泛应用的开源云计算软件平台,它在企业云存储系统构建中的应用,更是促进了当前企业信息化管理的发展。相信随着越来越多的全球IT 产业巨头不断加入云计算的阵营,基于Hadoop的云存储技术将势必会变成一个巨大的全球产业,改技术的不断发展和成熟将为企业信息管理中实现企业管理信息系统的高性能和低功耗提供有力的保证。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们