好文档 - 专业文书写作范文服务资料分享网站

Hadoop系统架构

天下 分享 时间: 加入收藏 我要投稿 点赞

一、绪论

21世纪的第一个十年里,互联网高速发展,Web的易用性、实用性使它成为最为广泛、最有前途、最有魅力的信息传播技术。作为信息交互的载体,Web的特性催生了多种新兴产业,电子商务、社交网络在最近几年发展尤为迅速。互联网用户也在过去的数年间增长迅速,根据我国互联网络信息中心发布的《第27次中国互联网络发展状况统计报告》显示,截至2010年12月底,我国网民规模达到4、57亿,较2009年底增加7330万人。报告中还显示,网络购物用户年增长48、6%,就是用户增长最快的应用。2011年以微博为代表的新型社交网站迅速成长,新浪微博在2011年9月注册用户达到2、75亿,微博用户平均每天发布的微博数达到8600万条。无论就是电子商务网站中的产品图片展示,还就是社交网站中的图片分享,其图片数量都在呈现几何基础的增长。

以国内外几大IT巨头为例,截止至2011年6月,Facebook用户已经上传了150亿张照片,加上缩略图,总容量超过L5PB。此外,每周新增照片为2、2亿张,约25TB。高峰期,Facebook每秒处理55万张照片!国外最大的图片分享网站Flickr共存储4、7亿张图片,而且相当多的图片就是高清数码图片,单张图片大小4?5M左右,消耗2PB存储空间,每秒需要处理38000次请求,每天新增图片超过40万。Flickr采用的squid缓存了总计3500万张图片,内存中存储有200万张图片。淘宝网作为我国最大的电子商务平台,在线商品达到10亿,图片服务器存储286亿张图片,总容量达到1PB,且每天仍在以千万级别增长。由于图片表达信息远胜于文字描述,所以电子商务尤其注重图片的显示质量、上传时间、访问速度等问题。根据淘宝网的流量分析,整个淘宝网流量中,图片的访问流量达到90%以上。腾讯的相册用户总上传图片数600亿存储量12PB、每周上传图片数10亿、存储3种规格1300亿图片,峰值访问每秒50万次。由于图片量非常大,海量图片需要消耗海量的存储空间,图片的存储与检索都会出现一定的瓶颈,存储系统的快速访问、扩容性、容错性都将就是存储系统设计的目标。由此可见,面对海量的图片,如何高效的存储、管理这些图片已经成为一个迫切需要解决的问题。

NetApp,美国网域存储技术有限公司,就是IT存储业界的佼佼者,倡导向数据密集型的企业提供统一的存储解决方案,用以整合在网络上来自服务器的数据,并有效管理呈爆炸性增长的数据。大多数IT公司在面临海量数据存储问题的时候都会选择NetApp公司提供的商用存储系统,淘宝网2007前一直使用应用该公司的文件存储系统。但随着图片文件数量以每年2倍的速度增长,NetApp公司最高端的产品也不能满足淘宝网存储的要求。商业存储服务的不足有以下几点:

首先就是文件数量太大,网络存储设备无法支撑,连接存储系统的服务器越来越多,网络连接数已经达到了网络存储设备的极限。

其次就是商用存储系统不能根据企业特定的业务进行存储与读取优化,导致面对大规模的小文件存储与读取,磁盘磁头需要频繁的寻道与换道,造成读取上的延迟。再加上高并发访问量的背景,系统很容易出现问题。

最后就是花费问题,商业存储系统扩容成本太高,10T的存储容量需要几百万人民币。在面临海量存储需求的时候,高成本并没有带来高效率,高可靠性,高容错性。况且,过分依赖商业系统在维护性、创造性上受到商业公司约束,难以满足互联网企业的飞速发展。

云计算的出现带动了技术发展朝向一个新的方向。它创造性的根据分布式处理、并行处理与网格计算的发展,提出了新的分布式集群技术。云存储概就是在云计算概念上延伸与发展出来的一个新的概念,就是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储与业务访问功能的一个系统。当云计算系统运算与处理的核心就是大量数据的存储与管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储就是一个以数据存储与管理为核心的云计算系统。

云存储的概念改变了存储领域,可以尝试以相对廉价的存储设备部署在云端作为存储服务器,利用分布式文件系统统一管理,对外提供存储与业务访问接口。由云端提供存储服务,达到业务与存储的解稱合,不仅能根据不同业务背景设定不同的存储、访问接口,优化存取服务,还能将容灾与安全性固定在云端,此外,由于采用分布式文件系统,云端服务器扩展相对容易。

二、Hadoop云计算系统

Hadoop就是一个分布式系统基础架构,由Apache基金会开发。作为Google一系列产品的幵源实现,就是一个更容易开发与运行处理大规模数据的软件平台。Hadoop中包含一系列相关的子项目,这些项目都隶属于Apache软件基金会。最著名的就是并行计算模型(MapReduce)与分布式文件系统(HDFS),其她的子系统提供了一些附加功能,或者在core上增加了一些高级的抽象。

Core:分布式系统与通用I/O组件与接口,支持序列化、Java远程过程调用等等。

Avro:支持跨语言过程调用,持久数据存储的数据序列化系统。

MapReduce:构建在廉价的PC机器上的分布式数据处理模型与运行环境。 HDFS:构建在廉价的PC机器上的分布式文件系统。

Pig:处理海量数据集的数据流语言与运行环境。pig运行在HDFS与MapReduce之上。

HBase:面向列的分布式数据库。HBase使用HDFS作为底层存储,同时使用MapReduce支持批处理模式的计算与随机查询。

ZooKeeper:提供分布式、高效的协作服务。ZooKeeper提供分布式锁这样的原子操作,可以用来构建分布式应用。

Hive:分布式数据仓库,Hive使用HDFS存储数据,提供类似SQL的语言(转换为MapReduce任务)查询数据。

Chukwa:分布式数据采集与分析系统。使用HDFS存储数据,使用Mapreduce输出分析报告。

三、分布式文件系统(HDFS)

Hadoop分布式文件系统HDFS被设计成稳定的存储海量数据,并且适合运行在普通硬件上的分布式文件系统。HDFS能提供高吞吐量的数据访问性能,给用户的应用提供更高的带宽,非常适合海量数据集上的应用。它运行于廉价的普通硬件之上,但就是可以提供可靠性、稳定的容错功能。面对海量数据与大量用户仍然可以提供高质量的服务,具有优秀的并发处理的能力。

3、1 HDFS的特点

(1) HDFS认为硬件错误就是一种正常的现象。HDFS由成百上千的普通硬件构成的服务器所组成,其中每个服务器上都存储着文件系维的数据块。HDFS文件系统非常庞大,其中的任何一个服务器都可能出现故障,这些服务器就会处于故障状态,从而导致系统的一部分数据丢失,而且有一部分机器损坏之后可能无法恢复到正常工作状态。所以及时的检查、错误检测、数据备份容错、自动恢复就是HDFS分布式文件系统非常重要的功能。HDFS分布式文件系统通过自己的检测协议定时自动监控系统全部机器的状态,一旦检测到机器故障等问题,能够迅速地检测,定位、冗余并恢复这些故障机器上的数据。基于以上设计的HDFS就具有错误检测与快速、自动恢复数据的功能。

(2) 在HDFS上运行的应用需要以流式访问它们的数据集。HDFS具有很好

Hadoop系统架构

一、绪论21世纪的第一个十年里,互联网高速发展,Web的易用性、实用性使它成为最为广泛、最有前途、最有魅力的信息传播技术。作为信息交互的载体,Web的特性催生了多种新兴产业,电子商务、社交网络在最近几年发展尤为迅速。互联网用户也在过去的数年间增长迅速,根据我国互联网络信息中心发布的《第27次中国互联网络发展状况统计报告》显示,截至2010年12月底,我国网民规
推荐度:
点击下载文档文档为doc格式
6yxm37itvr5dq8n1sig30fluh9bohz00ulb
领取福利

微信扫码领取福利

微信扫码分享