云计算技术.docx
- 文档编号:9233300
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:256.61KB
云计算技术.docx
《云计算技术.docx》由会员分享,可在线阅读,更多相关《云计算技术.docx(26页珍藏版)》请在冰豆网上搜索。
云计算技术
云计算技术
摘要:
在这篇论文中,我们将回顾云计算的背景以及当前发展状况。
探讨与云计算相关的Hadoop、MapReduce以及Bigtable发展历程和当前发展状况。
并将详细阐述Hadoop、MapReduce以及Bigtable工作原理和系统构架,除此之外,这篇论文还将介绍这些技术的应用场景和发展趋势,从应用场景上阐述云计算相关技术对IT产业的推动作用。
关键字大数据云计算HadoopMapReduceBigtable
1、云计算的定义与概念
1.1云计算的定义
云计算是由分布式计算、并行处理、网络计算发展来的,是一种新兴的商业计算模型。
目前,对于云计算的认识在不断的发展变化,云计算仍没有普遍一致的定义。
关于云计算的定义有以下几种:
1、维基百科给云计算下的定义:
云计算将IT 相关的能力以服务的方式提供给用户,允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下,通过Internet 获取需要服务。
2、中国云计算网将云定义为:
云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格(Grid Computing)的发展,或者说是这些科学概念的商业实现。
3、中国网格计算、云计算专家刘鹏定义云计算为:
云计算将计算任务发布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。
美国国家实验室的资深科学家、Globus项目的领导人Tan Foster:
云计算是由规模经济拖动,为互联网上的外部用户提供一组抽象的、虚拟化的、动态可扩展的、可管理的计算资源能力、存储能力、平台和服务的一种大规模分布式计算的聚合体。
4、XX百科:
云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
狭义云计算指IT 基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。
这种服务可以是IT和软件、互联网相关,也可是其他服务。
它意味着计算能力也可作为一种商品通过互联网进行流通。
其实简单地说,云计算是一种基于互联网的超级计算模式,它将计算机资源汇集起来,进行统一的管理和协同合作,以便提供更好的数据存储和网络计算服务。
1.2云计算的发展历程
云计算从提出到如今广泛应用,发展了数十年的历程:
1983年,太阳电脑(SunMicrosystems)提出“网络是电脑”(“TheNetworkistheComputer”),2006年3月,亚马逊(Amazon)推出弹性计算云(ElasticComputeCloud;EC2)服务。
2006年8月9日,Google首席执行官埃里克·施密特(EricSchmidt)在搜索引擎大会(SESSanJose2006)首次提出“云计算”(CloudComputing)的概念。
Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的“Google101”项目。
2007年10月,Google与IBM开始在美国大学校园,包括卡内基梅隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的计划,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑及BladeCenter与Systemx服务器,这些计算平台将提供1600个处理器,支持包括Linux、Xen、Hadoop等开放源代码平台)。
而学生则可以通过网络开发各项以大规模计算为基础的研究计划。
2008年1月30日,Google宣布在台湾启动“云计算学术计划”,将与台湾台大、交大等学校合作,将这种先进的大规模、快速将云计算技术推广到校园。
2008年2月1日,IBM(NYSE:
IBM)宣布将在中国无锡太湖新城科教产业园为中国的软件公司建立全球第一个云计算中心(CloudComputingCenter)。
2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。
该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。
这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香宾分校、英特尔研究院、惠普实验室和雅虎。
2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(CloudComputing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。
2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划(TrustedCloudInitiative)”。
2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码计划,微软在2010年10月表示支持OpenStack与WindowsServer2008R2的集成;而Ubuntu已把OpenStack加至11.04版本中。
2011年2月,思科系统正式加入OpenStack,重点研制OpenStack的网络服务。
[1]
1.3云计算的应用
1.3.1、云计算的应用在分为云(软件、存储)、管(数据通信与传输网)、端(个人、家庭、企业终端)上,具体应用场景如下:
云应用是构架在管和端的基础上,用户无需下载、安装软件,即可时时享受互联网服务。
其实云端(cloud)就代表了互联网(Internet),通过网络的计算能力,取代使用你原本安装在自己电脑上的软件,或者是取代原本你把资料存在自己硬盘的动作,你转而通过网络来进行各种工作,并存放档案资料在网络,也就是庞大的虚拟空间上。
我们通过所使用的网络服务,把资料存放在网络上的服务器中,并借由浏览器浏览这些服务的网页,使用上面的界面进行各种计算和工作。
云计算:
云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
云是网络、互联网的一种比喻说法。
过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。
狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。
这种服务可以是IT和软件、互联网相关,也可是其他服务。
它意味着计算能力也可作为一种商品通过互联网进行流通。
云概念手机:
云手机就是手机上装上一个云系统。
那么装了云系统的手机那性能会有无限大的提高。
无限大的内存,无限大的硬盘,无比强大的CPU。
可以说在手机上都可能玩魔兽世界。
LBS:
基于位置的服务(LocationBasedService,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(GeographicInformationSystem,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
Iphone皮:
iphone苹果皮P皮是由讯盈科技研发的iPhone4代苹果皮是一款专门针对iPhone4设计的增强型通讯产品,无需剪卡,让iPhone4瞬间变成一款三卡三待的强机。
体积小,完全贴合机身打造,精细制造工艺,手感舒适,完美兼容普通SIM卡,自带大容量电池,大幅延长iPhone4待机时间,彻底解决了“果粉”们担心待机时间短,不想换号的后顾之忧。
1.3.2云计算在应用软件上的应用:
2011年10月份,APPSTORE苹果商店一共有50万个应用。
收费应用:
下载就收费。
免费应用:
1,内置广告、交互链接;2,应用内付费,如游戏的第15关开始收费,转换为付费用户3,跟电子商务相关,下载应用是免费,但通过它订机票、订酒店、订电影票,拿返点。
B2B:
(BusinessToBusiness),是指一个互联网市场领域的一种,是企业对企业之间的营销关系。
它将企业内部网,通过B2B网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。
近年来B2B发展势头迅猛,趋于成熟。
例子:
阿里巴巴、慧聪。
B2C:
是英文Business-to-Customer(商家对顾客)的缩写,而其中文简称为“商对客”。
“商对客”是电子商务的一种模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。
这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。
B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、在网上支付。
由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率,特别对于工作忙碌的上班族,这种模式可以为其节省宝贵的时间。
例子:
当当、卓越、优凯特。
C2C:
即ConsumertoConsumer。
实际是电子商务的专业用语,是个人与个人之间的电子商务。
c2c即消费者间。
例子:
淘宝、拍拍、易趣。
C2B是电子商务模式的一种,即消费者对企业(customertobusiness)。
最先由美国流行起来的消费者对企业(C2B)模式也许是一个值得关注的尝试。
C2B模式的核心,是通过聚合分散分布但数量庞大的用户形成一个强大的采购集团,以此来改变B2C模式中用户一对一出价的弱势地位,使之享受到以大批发商的价格买单件商品的利益。
目前国内很少厂家真正完全采用这种模式。
非常创新,如果解决初期的用户聚合问题,是更能成功的。
先前是同样模式下,使用免费等方式聚合。
但目前是先用一个未知的方式聚合用户,再转移到C2B上面来,有创意和有挑战!
O2O:
移动互联从线上到线下的应用。
2、Hadoop技术
2.1、Hadoop的概念以及核心框架
Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。
HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。
图1Hadoop核心框架
Hadoop由许多元素构成。
其最底部是HadoopDistributedFileSystem(HDFS),它存储Hadoop集群中所有存储节点上的文件。
HDFS(对于本文)的上一层是MapReduce引擎,该引擎由JobTrackers和TaskTrackers组成。
通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。
[2]
HDFS对外部客户机而言,HDFS就像一个传统的分级文件系统。
可以创建、删除、移动或重命名文件,等等。
但是HDFS的架构是基于一组特定的节点构建的(参见图1),这是由它自身的特点决定的。
这些节点包括NameNode(仅一个),它在HDFS内部提供元数据服务;DataNode,它为HDFS提供存储块。
由于仅存在一个NameNode,因此这是HDFS的一个缺点(单点失败)。
存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。
这与传统的RAID架构大不相同。
块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。
NameNode可以控制所有文件操作。
HDFS内部的所有通信都基于标准的TCP/IP协议。
NameNode是一个通常在HDFS实例中的单独机器上运行的软件。
它负责管理文件系统名称空间和控制外部客户机的访问。
NameNode决定是否将文件映射到DataNode上的复制块上。
对于最常见的3个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。
注意,这里需要您了解集群架构。
实际的I/O事务并没有经过NameNode,只有表示DataNode和块的文件映射的元数据经过NameNode。
当外部客户机发送请求要求创建文件时,NameNode会以块标识和该块的第一个副本的DataNodeIP地址作为响应。
这个NameNode还会通知其他将要接收该块的副本的DataNode。
NameNode在一个称为FsImage的文件中存储所有关于文件系统名称空间的信息。
这个文件和一个包含所有事务的记录文件(这里是EditLog)将存储在NameNode的本地文件系统上。
FsImage和EditLog文件也需要复制副本,以防文件损坏或NameNode系统丢失。
NameNode本身不可避免地具有SPOF(SinglePointOfFailure)单点失效的风险,主备模式并不能解决这个问题,通过HadoopNon-stopnamenode才能实现100%uptime可用时间。
DataNode也是一个通常在HDFS实例中的单独机器上运行的软件。
Hadoop集群包含一个NameNode和大量DataNode。
DataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。
Hadoop的一个假设是:
机架内部节点之间的传输速度快于机架间节点的传输速度。
DataNode响应来自HDFS客户机的读写请求。
它们还响应来自NameNode的创建、删除和复制块的命令。
NameNode依赖来自每个DataNode的定期心跳(heartbeat)消息。
每条消息都包含一个块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据。
如果DataNode不能发送心跳消息,NameNode将采取修复措施,重新复制在该节点上丢失的块。
可见,HDFS并不是一个万能的文件系统。
它的主要目的是支持以流的形式访问写入的大型文件。
如果客户机想将文件写到HDFS上,首先需要将该文件缓存到本地的临时存储。
如果缓存的数据大于所需的HDFS块大小,创建文件的请求将发送给NameNode。
NameNode将以DataNode标识和目标块响应客户机。
同时也通知将要保存文件块副本的DataNode。
当客户机开始将临时文件发送给第一个DataNode时,将立即通过管道方式将块内容转发给副本DataNode。
客户机也负责创建保存在相同HDFS名称空间中的校验和(checksum)文件。
在最后的文件块发送之后,NameNode将文件创建提交到它的持久化元数据存储(在EditLog和FsImage文件)。
2.2、Hadoop在国内外的应用现状
1.Yahoo[2]
Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop机器总节点数目超过42?
000个,有超过10万的核心CPU在运行Hadoop。
最大的一个单Master节点集群有4500个节点(每个节点双路4核心CPUboxesw,4×1TB磁盘,16GBRAM)。
总的集群存储容量大于350PB,每月提交的作业数目超过1000万个,在Pig中超过60%的Hadoop作业是使用Pig编写提交的。
Yahoo的Hadoop应用主要包括以下几个方面:
支持广告系统、用户行为分析、支持Web搜索、反垃圾邮件系统、会员反滥用、内容敏捷、个性化推荐
同时Pig研究并测试支持超大规模节点集群的Hadoop系统。
2.Facebook
Facebook使用Hadoop存储内部日志与多维数据,并以此作为报告、分析和机器学习的数据源。
目前Hadoop集群的机器节点超过1400台,共计11?
200个核心CPU,超过15PB原始存储容量,每个商用机器节点配置了8核CPU,12TB数据存储,主要使用StreamingAPI和JavaAPI编程接口。
Facebook同时在Hadoop基础上建立了一个名为Hive的高级数据仓库框架,Hive已经正式成为基于Hadoop的Apache一级项目。
此外,还开发了HDFS上的FUSE实现。
3.A
A为Amazon使用Hadoop构建了商品搜索索引,主要使用StreamingAPI以及C++、Perl和Python工具,同时使用Java和StreamingAPI分析处理每日数以百万计的会话。
A为Amazon构建的索引服务运行在100节点左右的Hadoop集群上。
4.Adobe
Adobe主要使用Hadoop及HBase,同于支撑社会服务计算,以及结构化的数据存储和处理。
大约有超过30个节点的Hadoop-HBase生产集群。
Adobe将数据直接持续地存储在HBase中,并以HBase作为数据源运行MapReduce作业处理,然后将其运行结果直接存到HBase或外部系统。
Adobe在2008年10月就已经将Hadoop和HBase应用于生产集群。
5.CbIR
自2008年4月以来,日本的CbIR(Content-basedInformationRetrieval)公司在AmazonEC2上使用Hadoop来构建图像处理环境,用于图像产品推荐系统。
使用Hadoop环境生成源数据库,便于Web应用对其快速访问,同时使用Hadoop分析用户行为的相似性。
6.Datagraph
Datagraph主要使用Hadoop批量处理大量的RDF数据集,尤其是利用Hadoop对RDF数据建立索引。
Datagraph也使用Hadoop为客户执行长时间运行的离线SPARQL查询。
Datagraph是使用AmazonS3和Cassandra存储RDF数据输入和输出文件的,并已经开发了一个基于MapReduce处理RDF数据的Ruby框架——RDFgrid。
Datagraph主要使用Ruby、RDF.rb以及自己开发的RDFgrid框架来处理RDF数据,主要使用HadoopStreaming接口。
7.EBay
单集群超过532节点集群,单节点8核心CPU,容量超过5.3PB存储。
大量使用的MapReduce的Java接口、Pig、Hive来处理大规模的数据,还使用HBase进行搜索优化和研究。
8.IBM
IBM蓝云也利用Hadoop来构建云基础设施。
IBM蓝云使用的技术包括:
Xen和PowerVM虚拟化的Linux操作系统映像及Hadoop并行工作量调度,并发布了自己的Hadoop发行版及大数据解决方案。
9.Last.Fm
Last.Fm主要用于图表计算、专利申报、日志分析、A/B测试、数据集合并等,也使用Hadoop对超过百万的曲目进行大规模的音频特征分析。
节点超过100台机器,集群节点配置双四核XeonL5520@2.27GHzL5630@2.13GHz,24GB内存,8TB(4×2TB)存储。
10.LinkedIn
LinkedIn有多种硬件配置的Hadoop集群,主要集群配置如下:
800节点集群,基于Westmere的惠普SL170X与2×4的核心,24GB内存,6×2TBSATA。
1900节点集群,基于Westmere的超微-HX8DTT,与2×6的核心,24GB内存,6×2TBSATA。
1400节点集群,基于SandyBridge超微与2×6的核心,32GB内存,6×2TBSATA。
使用的软件如下:
操作系统使用RHEL6.3、JDK使用SUNJDK1.6.0_32、Apache的Hadoop0.20.2的补丁和ApacheHadoop的1.0.4补丁、Azkaban和Azkaban用于作业调度、Hive、Avro、Kafka等。
11.MobileAnalytic.TV
主要使用Hadoop应用在并行化算法领域,涉及的MapReduce应用算法如下:
信息检索和分析、机器生成的内容——文档、文本、音频、视频、自然语言处理。
项目组合包括:
移动社交网络、网络爬虫、文本到语音转化、音频和视频自动生成。
12.Openstat
主要利用Hadoop定制一个网络日志分析并生成报告,其生产环境下超过50个节点集群(双路四核Xeon处理器,16GB的RAM,4~6硬盘驱动器),还有两个相对小的集群用于个性化分析,每天处理约500万的事件,每月15亿美元的交易数据,集群每天产生大约25GB的报告。
使用的技术主要包括:
CDH、Cascading、Janino。
13.Quantcast
3000个CPU核心,3500TB存储,每日处理1PB以上的数据,使用完全自定义的数据路径和排序器的Hadoop调度器,对KFS文件系统有突出贡献。
14.Rapleaf
超过80个节点的集群(每个节点有2个双核CPU,2TB×8存储,16GBRAM内存);主要使用Hadoop、Hive处理Web上关联到个人的数据,并引入Cascading简化数据流穿过各种处理阶段。
15.WorldLingo
硬件上超过44台服务器(每台有2个双核CPU,2TB存储,8GB内存),每台服务器均运行Xen,启动一个虚拟机实例运行Hadoop/HBase,再启动一个虚拟机实例运行Web或应用程序服务器,即有88台可用的虚拟机;运行两套独立的Hadoop/HBase机群,它们各自拥有22个节点。
Hadoop主要用于运行HBase和MapReduce作业,扫描HBase的数据表,执行特定的任务。
HBase作为一种可扩展的、快速的存储后端,用于保存数以百万的文档。
目前存储了1200万篇文档,近期的目标是存储4.5亿篇文档。
16.格拉斯哥大学的TerrierTeam
超过30个节点的实验集群(每节点配置XeonQuadCore2.4GHz,4GB内存,1TB存储)。
使用Hadoop促进信息检索研究和试验,特别是用于TREC,用于TerrierIR平台。
Terrier的开源发行版中包含了基于HadoopMapReduce的大规模分布式索引。
17.内布拉斯加大学的HollandComputingCenter
运行一个中等规模的Hadoop机群(共计1.6PB存储)用于存储和提供物理数据,以支持紧凑型μ子螺旋型磁谱仪(CompactMuonSolenoid,CMS)实验的计算。
这需要一类能够以几Gbps的速度下载数据,并以更高的速度处理数据的文件系统的支持。
18.VisibleMeasures
将Hadoop作为可扩展数据流水线的一个组件,最终用于VisibleSuite等产品。
使用Hadoop汇总、存储和分析与网络视频观众收看行为相关的数据流。
目前的网格包括超过128个CPU核心,超过100TB的存储,并计划大幅扩容。
国内Hadoop的应用现状
Hadoop在国内的应用主要以互联网公司为主,下面主要介绍大规模使用Hadoop或研究Hadoop的公司。
1.XX
百度在2006年就开始关注Hadoop并开始调研和使用,在2012年其总的集群规模达到近十个,单集群超过2800台机器节点,Hadoop机器总数有上万台机器,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 技术