Ⅰ hadoop是属于大数据技术,还是属于与云计算技术
hadoop大数据与hadoop云计算,Hadoop最擅长的事情就是可以高效地处理海量规模的数据,这样Hadoop就和大数据及云计算结下了不解之缘。正是由于大数据对系统提出了很多极限的要求,不论是存储、传输还是计算,现有计算技术难以满足大数据的需求,因此整个IT架构的革命性重构势在必行,存储能力的增长远远赶不上数据的增长,设计最合理的分层存储架构已成为信息系统的关键。分布式存储架构不仅需要scale up式的可扩展性,也需要scale out式的可扩展性,因此大数据处理离不开云计算技术,云计算可为大数据提供弹性可扩展的基础设施支撑环境以及数据服务的高效模式,大数据则为云计算提供了新的商业价值,大数据技术与云计算技术必将有更完美的结合。我们知道云计算的关键技术包括分布式并行计算、分布式存储以及分布式数据管理技术,而Hadoop就是一个实现了Google云计算系统的开源平台,包括并行计算模型MapRece、分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰富,包括ZooKeeper、Pig、Chukwa、Hive、hbase、Mahout等,这些项目都使得Hadoop成为一个很大很完备的生态链系统。目前使用Hadoop技术实现的云计算平台包括IBM的蓝云,雅虎、英特尔的“云计划”,网络的云计算基础架构,阿里巴巴云计算平台,以及中国移动的BigCloud大云平台。总而言之,用一句话概括就是云计算因大数据问题而生,大数据驱动了云计算的发展,而Hadoop在大数据和云计算之间建起了一座坚实可靠的桥梁。
Ⅱ hadoop和spark的都是并行计算,有什么相同和区别
相同点都是基于MR的原理来实现的。
不同点前者基于磁盘+内存,磁盘占得比重比较大,而后者侧重于内存+磁盘,内存占得比重比较大,这也是为什么Hadoop没spark速度快的根本原因,spark基于内存来做MR,而Hadoop侧重于落地到磁盘来做MR。
Ⅲ Hadoop MapRee是如何实现计算向数据靠拢
大规模数据处理时,MapRece在三个层面上的基本构思:如何对付大数据处理:分而治之。对相互间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略。上升到抽象模型:Mapper与Recer。MPI等并行计算方法缺少高层并行编程模型,为了克服这一缺陷,MapRece借鉴了Lisp函数式语言中的思想,用Map和Rece两个函数提供了高层的并行编程抽象模型。上升到构架:统一构架,为程序员隐藏系统层细节。MPI等并行计算方法缺少统一的计算框架支持,程序员需要考虑数据存储、划分、分发、结果收集、错误恢复等诸多细节;为此,MapRece设计并提供了统一的计算框架,为程序员隐藏了绝大多数系统层面的处理细节。MapRece借鉴了函数式程序设计语言Lisp中的思想,定义了如下的Map和Rece两个抽象的编程接口,由用户去编程实现:map:(k1;v1)[(k2;v2)]输入:键值对(k1;v1)表示的数据。处理:文档数据记录[(k2;v2)](如文本文件中的行,或数据表格中的行)将以“键值对”形式传入map函数;map函数将处理这些键值对,并以另一种键。值对形式输出处理的一组键值对中间结果。输出:键值对[(k2;v2)]表示的一组中间数据。rece:(k2;[v2])[(k3;v3)]输入:由map输出的一组键值对[(k2;v2)]将被进行合并处理将同样主键下的不同数值合并到一个列表[v2]中,故rece的输入为(k2;[v2])处理:对传入的中间结果列表数据进行某种整理或进一步的处理,并产生最终的某种形式的结果输出[(k3;v3)]。输出:最终输出结果[(k3;v3)]。Map和Rece为程序员提供了一个清晰的操作接口抽象描述。
Ⅳ 关于并行计算和分布式计算的理解
昨天提交论文初稿,被导师一个问题给整蒙了,你做的到底是并行计算还是分布式计算?
啥。。。。。。这TM不是一个东西?一直分布式并行计算叫着。。。。。。
于是翻阅资料,这两个还虽然有联系,但还真不是一个东西,具体总结如下:
并行计算,相对于串行计算而言,一般可分为时间并行和空间并行。时间并行可以看做是流水线操作,类似CPU执行的流水线,而空间并行则是目前大多数研究的问题,例如一台机器拥有多个处理器,在多个CPU上执行计算,例如MPI技术,通常可分为数据并行和任务并行。
而分布式计算则是相对单机计算而言的,利用多台机器,通过网络连接和消息传递协调完成计算。把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出最终结果。
总而言之,以上概念有点扯。。。。。。
其实目前人们比较关系并行计算和分布式计算重叠的部分,例如Hadoop,spark等等。
Ⅳ Storm Spark Hadoop 这三个流行并行计算框架有什么不同
storm是实时处理,spark和hadoop是批处理,两者是互补。而spark和hadoop比较的话,spark主要是充分利用内存计算并且支持的操作而不仅是map/rece,这样有些迭代密集的算法执行效率会更高。而hadoop可能需要多个mr任务来完成。在2.0之后,hadoop使用了新的yarn框架,map/rece只是其中一种默许了,spark也可以在hadoop的yarn框架下运行的,所以2者还会是融合的。
Ⅵ hadoop和maprece是一种什么关系
hadoop是依据maprece的原理,用Java语言实现的分布式处理机制。
Hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapRece编程模型和框架,能够把应用程序分割成许多的小的工作单元,并把这些单元放到任何集群节点上执行。
MapRece是Hadoop中的一个数据运算核心模块,MapRece通过JobClient生成任务运行文件,并在JobTracker进行调度指派TaskTracker完成任务。
(6)并行算法hadoop扩展阅读
1、MapRece分布式计算框架原型:
MapRece分布式计算模型是由Google提出,主要用于搜索领域,解决海量数据的计算问题Apache对其做了开源实现,整合在hadoop中实现通用分布式数据计算。
MR由两个阶段组成:Map和Rece,用户只需要实现map()和rece()两个函数,即可实现分布式计算,非常简单。大大简化了分布式并发处理程序的开发。
Map阶段就是进行分段处理。
Rece阶段就是进行汇总处理。汇总之后还可以进行数据的一系列美化操作,然后再输出。
2、MapRece组件介绍:
JobClient:用于把用户的作业任务生成Job的运行包,并存放到HDFS中。
JobinProgress:把Job运行包分解成MapTask和ReceTask并存放于TaskTracker中。
JobTracker(Master):进行调度管理TaskTracker执行任务。
TaskTracker(Slave):执行分配下来的Map计算或Rece计算任务。
Ⅶ 国内外的Hadoop应用现状
文 | 翟周伟
本文节选自《Hadoop核心技术》一书。
Hadoop是一个开源的高效云计算基础架构平台,其不仅仅在云计算领域用途广泛,还可以支撑搜索引擎服务,作为搜索引擎底层的基础架构系统,同时在海量数据处理、数据挖掘、机器学习、科学计算等领域都越来越受到青睐。本文将讲述国内外的hadoop应用现状。
国外Hadoop的应用现状
1.Yahoo
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.A9.com
A9.com为Amazon使用Hadoop构建了商品搜索索引,主要使用StreamingAPI以及C++、Perl和Python工具,同时使用Java和StreamingAPI分析处理每日数以百万计的会话。A9.com为Amazon构建的索引服务运行在100节点左右的Hadoop集群上。
4.Adobe
Adobe主要使用Hadoop及HBase,同于支撑社会服务计算,以及结构化的数据存储和处理。大约有超过30个节点的Hadoop-HBase生产集群。Adobe将数据直接持续地存储在HBase中,并以HBase作为数据源运行MapRece作业处理,然后将其运行结果直接存到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数据输入和输出文件的,并已经开发了一个基于MapRece处理RDF数据的Ruby框架——RDFgrid。
Datagraph主要使用Ruby、RDF.rb以及自己开发的RDFgrid框架来处理RDF数据,主要使用HadoopStreaming接口。
7.EBay
单集群超过532节点集群,单节点8核心CPU,容量超过5.3PB存储。大量使用的MapRece的Java接口、Pig、Hive来处理大规模的数据,还使用HBase进行搜索优化和研究。
8.IBM
IBM蓝云也利用Hadoop来构建云基础设施。IBM蓝云使用的技术包括:Xen和PowerVM虚拟化的Linux操作系统映像及Hadoop并行工作量调度,并发布了自己的Hadoop发行版及大数据解决方案。
9.Last.Fm
Last.Fm主要用于图表计算、专利申报、日志分析、A/B测试、数据集合并等,也使用Hadoop对超过百万的曲目进行大规模的音频特征分析。
节点超过100台机器,集群节点配置双四核[email protected]@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应用在并行化算法领域,涉及的MapRece应用算法如下。
信息检索和分析。
机器生成的内容——文档、文本、音频、视频。
自然语言处理。
项目组合包括:
移动社交网络。
网络爬虫。
文本到语音转化。
音频和视频自动生成。
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和MapRece作业,扫描HBase的数据表,执行特定的任务。HBase作为一种可扩展的、快速的存储后端,用于保存数以百万的文档。目前存储了1200万篇文档,近期的目标是存储4.5亿篇文档。
16.格拉斯哥大学的TerrierTeam
超过30个节点的实验集群(每节点配置XeonQuadCore2.4GHz,4GB内存,1TB存储)。使用Hadoop促进信息检索研究和试验,特别是用于TREC,用于TerrierIR平台。Terrier的开源发行版中包含了基于HadoopMapRece的大规模分布式索引。
17.内布拉斯加大学的HollandComputingCenter
运行一个中等规模的Hadoop机群(共计1.6PB存储)用于存储和提供物理数据,以支持紧凑型μ子螺旋型磁谱仪(CompactMuonSolenoid,CMS)实验的计算。这需要一类能够以几Gbps的速度下载数据,并以更高的速度处理数据的文件系统的支持。
18.VisibleMeasures
将Hadoop作为可扩展数据流水线的一个组件,最终用于VisibleSuite等产品。使用Hadoop汇总、存储和分析与网络视频观众收看行为相关的数据流。目前的网格包括超过128个CPU核心,超过100TB的存储,并计划大幅扩容。
国内Hadoop的应用现状
Hadoop在国内的应用主要以互联网公司为主,下面主要介绍大规模使用Hadoop或研究Hadoop的公司。
1.网络
网络在2006年就开始关注Hadoop并开始调研和使用,在2012年其总的集群规模达到近十个,单集群超过2800台机器节点,Hadoop机器总数有上万台机器,总的存储容量超过100PB,已经使用的超过74PB,每天提交的作业数目有数千个之多,每天的输入数据量已经超过7500TB,输出超过1700TB。
网络的Hadoop集群为整个公司的数据团队、大搜索团队、社区产品团队、广告团队,以及LBS团体提供统一的计算和存储服务,主要应用包括:
数据挖掘与分析。
日志分析平台。
数据仓库系统。
推荐引擎系统。
用户行为分析系统。
同时网络在Hadoop的基础上还开发了自己的日志分析平台、数据仓库系统,以及统一的C++编程接口,并对Hadoop进行深度改造,开发了HadoopC++扩展HCE系统。
2.阿里巴巴
阿里巴巴的Hadoop集群截至2012年大约有3200台服务器,大约30?000物理CPU核心,总内存100TB,总的存储容量超过60PB,每天的作业数目超过150?000个,每天hivequery查询大于6000个,每天扫描数据量约为7.5PB,每天扫描文件数约为4亿,存储利用率大约为80%,CPU利用率平均为65%,峰值可以达到80%。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务,主要应用包括:
数据平台系统。
搜索支撑。
广告系统。
数据魔方。
量子统计。
淘数据。
推荐引擎系统。
搜索排行榜。
为了便于开发,其还开发了WebIDE继承开发环境,使用的相关系统包括:Hive、Pig、Mahout、Hbase等。
3.腾讯
腾讯也是使用Hadoop最早的中国互联网公司之一,截至2012年年底,腾讯的Hadoop集群机器总量超过5000台,最大单集群约为2000个节点,并利用Hadoop-Hive构建了自己的数据仓库系统TDW,同时还开发了自己的TDW-IDE基础开发环境。腾讯的Hadoop为腾讯各个产品线提供基础云计算和云存储服务,其支持以下产品:
腾讯社交广告平台。
搜搜(SOSO)。
拍拍网。
腾讯微博。
腾讯罗盘。
QQ会员。
腾讯游戏支撑。
QQ空间。
朋友网。
腾讯开放平台。
财付通。
手机QQ。
QQ音乐。
4.奇虎360
奇虎360主要使用Hadoop-HBase作为其搜索引擎so.com的底层网页存储架构系统,360搜索的网页可到千亿记录,数据量在PB级别。截至2012年年底,其HBase集群规模超过300节点,region个数大于10万个,使用的平台版本如下。
HBase版本:facebook0.89-fb。
HDFS版本:facebookHadoop-20。
奇虎360在Hadoop-HBase方面的工作主要为了优化减少HBase集群的启停时间,并优化减少RS异常退出后的恢复时间。
5.华为
华为公司也是Hadoop主要做出贡献的公司之一,排在Google和Cisco的前面,华为对Hadoop的HA方案,以及HBase领域有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。
6.中国移动
中国移动于2010年5月正式推出大云BigCloud1.0,集群节点达到了1024。中国移动的大云基于Hadoop的MapRece实现了分布式计算,并利用了HDFS来实现分布式存储,并开发了基于Hadoop的数据仓库系统HugeTable,并行数据挖掘工具集BC-PDM,以及并行数据抽取转化BC-ETL,对象存储系统BC-ONestd等系统,并开源了自己的BC-Hadoop版本。
中国移动主要在电信领域应用Hadoop,其规划的应用领域包括:
经分KPI集中运算。
经分系统ETL/DM。
结算系统。
信令系统。
云计算资源池系统。
物联网应用系统。
E-mail。
IDC服务等。
7.盘古搜索
盘古搜索(目前已和即刻搜索合并为中国搜索)主要使用Hadoop集群作为搜索引擎的基础架构支撑系统,截至2013年年初,集群中机器数量总计超过380台,存储总量总计3.66PB,主要包括的应用如下。
网页存储。
网页解析。
建索引。
Pagerank计算。
日志统计分析。
推荐引擎等。
即刻搜索(人民搜索)
即刻搜索(目前已与盘古搜索合并为中国搜索)也使用Hadoop作为其搜索引擎的支撑系统,截至2013年,其Hadoop集群规模总计超过500台节点,配置为双路6核心CPU,48G内存,11×2T存储,集群总容量超过10PB,使用率在78%左右,每天处理读取的数据量约为500TB,峰值大于1P,平均约为300TB。
即刻搜索在搜索引擎中使用sstable格式存储网页并直接将sstable文件存储在HDFS上面,主要使用HadoopPipes编程接口进行后续处理,也使用Streaming接口处理数据,主要的应用包括:
网页存储。
解析。
建索引。
推荐引擎。
end
Ⅷ Hadoop到底是什么玩意
Hadoop到底是个啥?
答:Hadoop是基于廉价设备利用集群的威力对海量数据进行安全存储和高效计算的分布式存储和分析框架,Hadoop本身是一个庞大的项目家族,其核心 家族或者底层是HDFS和MapRece,HDFS和MapRece分别用来实现对海量数据的存储和分析,其它的项目,例如Hive、HBase 等都是基于HDFS和MapRece,是为了解决特定类型的大数据处理问题而提出的子项目,使用Hive、HBase等子项目可以在更高的抽象的基础上更简单的编写分布式大数据处理程序。Hadoop的其它子项目还包括Common, Avro, Pig, ZooKeeper, Sqoop, Oozie 等,随着时间的推移一些新的子项目会被加入进来,一些关注度不高的项目会被移除Hadoop家族,所以Hadoop是一个充满活力的系统。
Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapRece分布式计算的软件架构。
Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapRece统计,不必开发专门的MapRece应用,十分适合数据仓库的统计分析。
ApachePig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapRece运算。
ApacheHBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务 ApacheMahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapRece实现了部分数据挖掘算法,解决了并行挖掘的问题。
ApacheCassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与AmazonDynamo的完全分布式的架构于一身 Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制 ApacheAmbari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
ApacheChukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供Hadoop 进行各种 MapRece 操作。
ApacheHama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
ApacheFlume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
ApacheGiraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和Google 的 Pregel。
ApacheOozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapRece)的任务。
ApacheCrunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapRece程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库 ApacheWhirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
ApacheBigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
ApacheHCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。
ClouderaHue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapRece/YARN, HBase, Hive, Pig的web化操作和管理。