初识Hadoop

Hadoop是什么?

  Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

        Hadoop是一个开源框架,可编写和运行分布式应用处理大规模数据。分布式计算是一个宽泛并且不断变化的领域,Hadoop的优势在于:

        1) 方便:Hadoop运行在由一般商用机器构成的大型集群上,或者云计算服务上,比如EC2。

        2) 健壮:Hadoop致力于在一般商用硬件上运行,其架构假设硬件会频繁失效,Hadoop可以从容地处理大多数此类故障。

        3) 可扩展:Hadoop通过增加集群节点,可以线性地扩展以处理更大的数据集。

        4) 简单:Hadoop允许用户快速编写高效的并行代码。

        Hadoop框架的核心是HDFS和MapReduce。其中 HDFS 是分布式文件系统MapReduce 是分布式数据处理模型和执行环境。掌握了这两部分,也就掌握了Hadoop最核心的东西。

        Hadoop是Doug Cutting基于Google公司的GFS和MapReduce思想不断完善的项目 —— Nutch中脱胎而出的,目前已经归于Apache公司

Hadoop能做什么?

        大数据时代已经到来,金融数据、电商数据、社交数据、游戏数据…….这些数据的规模、结构、增长的速度都给传统数据存储和处理技术带来巨大考验。Hadoop的简单方便、可扩展性和健壮性让其在大数据处理方面占尽优势,其主要适合的应用场景有:

        1) 搜索引擎,Doug Cutting设计Hadoop的初衷,就是为了针对大规模的网页快速建立索引。

        2) 大数据存储,利用Hadoop的分布式存储能力,例如数据备份、数据仓库等。

        3) 大数据处理,利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等。

        4) 科学研究,Hadoop是一种分布式的开源框架,对于分布式计算有很大程度地参考价值。

        目前,Hadoop已经成长为一个庞大的体系,只要和海量数据相关的领域,都有Hadoop的身影。下图是一个Hadoop生态系统的图谱,详细列举了Hadoop这个生态系统中出现的各种数据工具。

 

 

1 Hadoop生态系统地图

  1)和 2) Nutch,互联网数据及Nutch搜索引擎应用

  3) HDFS,数据存储

  7) Hiho,Sqoop,将关系数据库的数据导入HDFS的工具

  11) Hue,Hadoop自己的监控管理工具

  14) HBase,OLTP存储系统

Hadoop谁在用?

        Hadoop作为大数据存储及计算领域的一颗明星,目前已经得到越来越广泛的应用。不管是国外的著名公司Google、Yahoo!、微软、亚马逊、 EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera、Hortonworks等,又还是国内的著名公司中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等,都在使用Hadoop及相关技术解决大规模化数据问题,以满足公司需求和创造商业价值。

        例如:Yahoo! 的垃圾邮件识别和过滤、用户特征建模;Amazon.com(亚马逊)的协同过滤推荐系统;Facebook的Web日志分析;Twitter、LinkedIn的人脉寻找系统;淘宝商品推荐系统、淘宝搜索中的自定义筛选功能……这些应用都使用到Hadoop及其相关技术。

        以下简单列举了Hadoop在一些知名企业的应用情况,博主想说的是,信息可能有变化,同学们有个大概的了解即可,无须深究

 1.

  奇虎360:主要使用Hadoop-HBase作为其搜索so.com的底层网页存储架构系统,360搜索的网页可到千亿记录,数据量在PB级别。截至2012年年底,其HBase集群规模超过300节点,region个数大于10万个,使用的平台版本如下。

         HBase版本:facebook0.89-fb。

         HDFS版本:facebookHadoop-20。

         奇虎360在Hadoop-HBase方面的工作主要为了优化减少HBase集群的启停时间,并优化减少RS异常退出后的恢复时间。

普及知识:http://baike.baidu.com/link?url=Ag9ZbHlegnB38Nei2WtCNUUshOOuPz2guBQE1NLI2oxWsAfn6gD1rCmCrBLUWQxO0W0uI4MNJf8Sill22FZ9wtGg-pzKL5x1ujrRk0AH3x897ul9DSwnjtGbgSo16IrT

 

2.  

  A9.com为Amazon使用Hadoop构建了商品搜索索引,主要使用StreamingAPI以及C++、Perl和Python工具,同时使用Java和StreamingAPI分析处理每日数以百万计的会话。A9.com为Amazon构建的索引服务运行在100节点左右的Hadoop集群上。

 

3.

  Adobe主要使用Hadoop及HBase,同于支撑社会服务计算,以及结构化的数据存储和处理。大约有超过30个节点的Hadoop-HBase生产集群。Adobe将数据直接持续地存储在HBase中,并以HBase作为数据源运行MapReduce作业处理,然后将其运行结果直接存到HBase或外部系统。Adobe在2008年10月就已经将Hadoop和HBse应用于生产集群。

http://baike.baidu.com/link?url=FBfFtz0zsHww-k1U8PrqroUzNPCQeZfglVCkZfqbsNCkPdkImsfw2Kv13SDeWSLNKh4Is2ar62uXa--3Mg0UMq

 

4.

 

  阿里巴巴的Hadoop集群截至2012年大约有3200台服务器,大约300000物理CPU核心,总内存100TB,总的存储容量超过60PB,每天的作业数目超过1500000个,每天hivequery查询大于6000个,每天扫描数据量约为7.5PB,每天扫描文件数约为4亿,存储利用率大约为80%,CPU利用率平均为65%,峰值可以达到80%。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务,主要应用包括:

  1)  数据平台系统。

  2)  搜索支撑。

  3)  广告系统。

  4)  数据魔方。

  5)  量子统计。

  6)  淘数据。

  7)  推荐引擎系统。

  8)  搜索排行榜。

  为了便于开发,其还开发了WebIDE继承开发环境,使用的相关系统包括:Hive、Pig、Maherout、HBase等。

 

5.

  百度在2006年就开始关注Hadoop并开始调研和使用,在2012年其总的集群规模达到近十个,单集群超过2800台机器节点,Hadoop机器总数有上万台机器,总的存储容量超过100PB,已经使用的超过74PB,每天提交的作业数目有数千个之多,每天的输入数据量已经超过7500TB,输出超过1700TB。

  百度的Hadoop集群为整个公司的数据团队、大搜索团队、社区产品团队、广告团队,以及LBS团队提供统一的计算和存储服务,主要应用包括:

  1)      数据挖掘与分析。

  2)      日志分析平台。

  3)      数据仓库系统。

  4)      推荐引擎系统。

  5)      用户行为分析系统。

  同时百度在Hadoop的基础上还开发了自己的日志分析平台、数据仓库系统,以及统一的C++编程接口,并对Hadoop进行深度改造,开发了HadoopC++扩展HCE系统。

http://baike.baidu.com/link?url=NCK5sR1O6S0rAELB4PpEGAUb1fYd6oKTfwvUtKKCZrJuYal46NUT2xrXGSlXYtqMLaQ0quVMYVMfVmfZ7x-Edq

 

6.

  中国移动于2010年5月正式推出大云BigCloud1.0,集群节点达到了1024。中国移动的大云基于Hadoop的MapReduce实现了分布式计算,并利用了HDFS来实现分布式存储,并开发了基于Hadoop的数据仓库系统HugeTable,并行数据挖掘工具集BC-PDM,以及并行数据抽取转化BC-ETL,对象存储系统BC-ONestd等系统,并开源了自己的BC-Hadoop版本。中国移动主要在电信领域应用Hadoop ,其规划的应用领域包括:

  1)      经分KPI集中运算。

  2)      经分系统ETL/DM。

  3)      结算系统。

  4)      信令系统。

  5)      云计算资源池系统。

  6)      物联网应用系统。

  7)      E-mail。

  8)      IDC服务等。

http://baike.baidu.com/link?url=FKXrdxohP0oPprIaCf36n4F65Ni1TIEzgoDDIUdX8bgGVADZto5U17eiFP5uouIEfTDr_d-83F1LhfnpLmRumIQJaEa4zLK3KsuYeuse0KaIA2h2TaPH6Ypxq6URg87t3E1W-aRVRfWtpD_hQBp-yL4SoMPZShBz25urnBG-Fy_

 

7.

  Datagraph主要使用Hadoop批量处理大量的RDF数据集,尤其是利用Hadoop对RDF

数据建立索引。Datagraph也使用Hadoop为客户执行长时间运行的离线SPARQL查询。Datagraph是使用AmazonS3和Cassandra存储RDF数据输入和输出文件的,并已经开发了一个基于MapReduce处理RDF数据的Ruby框架——RDF grid。

         Datagraph主要使用Ruby、RDF.rb以及自己开发的RDF grid框架来处理RDF数据,主要使用HadoopStreaming接口。单集群超过532节点集群,单节点8核心CPU,容量超过5.3PB存储。大量使用的

MapReduce的Java接口、Pig、Hive来处理大规模的数据,还使用HBase进行搜索优化和研究。

http://baike.baidu.com/link?url=o_jU6arnZWRFXVlxVZUrc06F6rIvUiMBN5U3KdxymlzRa3RwdoAY3VtUwlRWRslJDqKrm7AmIsqoWa450Ildn_

 

8.

  Facebook使用Hadoop存储内部日志与多维数据,并以此作为报告、分析和机器学习的数据源。目前Hadoop集群的机器节点超过1400台,共计110200个核心CPU,超过15PB原始存储容量,每个商用机器节点配置了8核CPU,12TB数据存储,主要使用StreamingAPI和JavaAPI编程接口。Facebook同时在Hadoop基础上建立了一个名为Hive的高级数据仓库框架,Hive已经正式成为基于Hadoop的Apache一级项目。此外,还开发了HDFS上的FUSE实现。

http://baike.baidu.com/link?url=SnZgc9o8J-2xosP75VzWpk4e0MrzJg2h-x4FHsPNUoHdxHXUw61lca2sbpzpebs0G-dDVVvzaktFezOVrvfrPq

 

9.

  内布拉斯加大学的HollandComputingCenter,运行一个中等规模的Hadoop机群(共计1.6PB存储)用于存储和提供物理数据,以支持紧凑型u子螺旋型磁谱仪实验的计算。这需要一类能够以几Gbps的速度下载数据,并以更高的速度处理数据的文件系统的支持。华为公司也是Hadoop主要做出贡献的公司之一,排在Google和Cisco的前面,华为对Hadoop的HA方案,以及HBase领域有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。

http://baike.baidu.com/link?url=oenzo7cRBS-Nj3WKitZCn0AoVCwiikgDkdHHL5gbwi3-Zkf3guPZK86fzpOaV4TlQlmkgT9uDom7qP5To99U5FLBUGxLQhOTVyX7xY0A-2R9RHAopHtC7Y6K3VtXUVbNoT3aU2QwUjQA5AyStJgZ9q

 

10.

  Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop机器总节点数目超过420000个,有超过10万的核心CPU在运行Hadoop。最大的一个单Master节点集群有4500个节点(每个节点双路4核心CPUboxesw,4X1TB磁盘,16GBRAM)。总的集群存储容量大于350PB,每月提交的作业数据超过1000万个,在Pig中超过60%的Hadoop作业是使用Pig编写提交的。

  Yahoo的Hadoop应用主要包括以下几个方面:

  1)  支持广告系统

  2)  用户行为分析

  3)  支持Web搜索

  4)  反垃圾邮件系统

  5)  会员反滥用

  6)  内容敏捷

  7)  个性化推荐

  同时Pig研究并测试支持超大规模节点集群的Hadoop系统。

http://baike.baidu.com/link?url=-TQAuCfoK5ANwOySFOWDGbWuWC9DyRPH21seOriZGO7NJPCqWYdgabHe8op4024n-MdphIoXhan3mWeQYBESmq

 

11.

  IBM蓝云也利用Hadoop来构建云基础设施。IBM蓝云使用的技术包括:Xen和PowerVM虚拟化的Linux操作系统映像及Hadoop并行工作量调度,并发布了自己的Hadoop发行版及大数据解决方案。

http://baike.baidu.com/link?url=iWBBQwkCfrdIQtAQ5ToC4tLR2wzgO7DKLGY7PIpwdCH2KkOKfDP9VnVwI-ohIx_gwwydO5obv0Zs0u8qV6av6KD7di-IDMJ4symC7VwJle_

 

12.

  Last.Fm主要用于图表计算、专利申报、日志分析、A/B测试、数据集合并等,也使用Hadoop对超过百万的曲目进行大规模的音频特征分析。节点超过100台机器,集群节点配置双四核XeonL5520@2.27GHzL5630@2.13GHz,24GB内存,8TB(4X2TB)存储。

http://baike.baidu.com/link?url=1rR3fg7k5JQ5eALP2Rs80fl1vVcrw6LrQKepm16DImaqJNv-SIipY2ir71jTR5bNzpxf44C7AIVKk3WAR-UipK

 

13.

  腾讯也是使用Hadoop最早的中国互联网公司之一,截至2012年底,腾讯的Hadoop集群机器总量超过5000台,最大单集群约为2000个节点,并利用Hadoop-Hive构建了自己的数据仓库系统TDW,同时还开发了自己的TDW-IDE基础开发环境。腾讯的Hadoop为腾讯各个产品线提供基础云计算和云存储服务,其支持以下产品:

  1)  腾讯社交广告平台

  2)  搜搜(SOSO)。

  3)  拍拍网。

  4)  腾讯微博。

  5)  腾讯罗盘。

  6)  QQ会员。

  7)  腾讯游戏支撑。

  8)  QQ空间。

  9)  朋友网。

  10)腾讯开放平台。

  11)财付通。

  12)手机QQ。

  13)QQ音乐。

http://baike.baidu.com/link?url=vzUUX80CKjbz_5NjX_PnxQ9rxPAjDs3e6I8VXZJhF8yDovMZC0SH_7XQsPoQgwgZZF7MAHTAYbHi__AxJ7YzOq

 

14.

  Linkedln有很多硬件配置的Hadoop集群,主要集群配置如下:

    800节点集群,基于Westmere的惠普SL170X与2X4的核心,24GB内存,6x2TBSATA。

    1900节点群,基于Westmere的超微-HX8DTT,与2x6的核心,24GB内存,6x2TBSATA。

    1400节点群,基于SandyBridge超微与2x6的核心,32GB内存,6x2TBSATA。

  使用的软件如下:

    操作系统使用RHEL6.3。

           JDK使用SUNJDK1.6.0_32。

           Apache的Hadoop0.20.2的补丁和ApacheHadoop的1.0.4补丁。

           Azkaban和Azkaban用于作业调度。

           Hive、Avro、Kafka等。

 

15.

  主要使用Hadoop应用在并行化算法领域,设计的MapReduce应用算法如下。

  1)  信息检索和分析。

  2)  机器生成的内容—文档、文本、音频、视频。

  3)  自然语言处理。

  4)  项目组合包括。

  5)  移动社交网络。

  6)  网络爬虫。

  7)  文本到语音转化。

  8)  音频和视频自动生成。

 

16.

  3000个CPU核心,3500TB存储,每日处理1PB以上的数据,使用完全自定义的数据路径和排序器的Hadoop调度器,对KFS文件系统有突出贡献。主要利用Hadoop定制一个网络日志分析并生成报告,其生产环境下超过50个节点集群(双路四核Xeon处理器,16GB的RAM,4~6硬盘驱动器),还有两个相对小的集群用于个性化分析,每天处理约500万的事件,每月15亿美元的交易数据,集群每天产生大约25GB的报告。

  使用的技术主要包括:CDH、Cascading、Janino。

 

17.

  盘古搜索(目前已和即刻搜索合并为中国搜索)主要使用Hadoop集群作为搜索引擎的基础架构支撑系统,截至2013年年初,集群中机器数量总计超过380台,存储总量总计3.66PB,主要包括的应用如下。

  1)  网页存储。

  2)  网页解析。

  3)  建索引。

  4)  Pagerank计算。

  5)  日志统计分析。

  6)  推荐引擎等。

 

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!

 

 版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/zimo-jing/p/8323711.html