• 1. 云计算架构Hadoop为商业打开数据之门
  • 2. 1Hadoop是什么?开源软件工业标准硬件IT成本降低
  • 3. 2 2004年,Google发表论文,向全世界介绍了MapReduce。 2005年初,为了支持Nutch搜索引擎项目,Nutch的开发者基于Google发布的MapReduce报告,在Nutch上开发了一个可工作的MapReduce应用。 2005年年中,所有主要的Nutch算法被移植到使用MapReduce和NDFS(Nutch Distributed File System )来运行。 2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。 2006年2月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。 2007年,百度开始使用Hadoop做离线处理,目前差不多80%的Hadoop集群用作日志处理。 2007年,中国移动开始在“大云”研究中使用Hadoop技术,规模超过1000台。 2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理电子商务相关数据。云梯1的总容量大概为9.3PB,包含了1100台机器,每天处理约18000道作业,扫描500TB数据。 2008年1月,Hadoop成为Apache顶级项目。 2008年2月,Yahoo!宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。 2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo!的一个Hadoop集群用209秒完成1TB数据的排序 ,比上一年的纪录保持者保持的297秒快了将近90秒。 2009 年 3 月,Cloudera推出CDH(Cloudera’s Distribution including Apache Hadoop)平台,完全由开放源码软件组成,目前已经进入第3版。 2009年5月,Yahoo的团队使用Hadoop对1 TB的数据进行排序只花了62秒时间。 2009年7月 ,Hadoop Core项目更名为Hadoop Common; 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。 2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。 2010年9月,Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。 Hadoop七年(2004-2010)发展历程
  • 4. 32011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。 2011年3月,Apache Hadoop获得Media Guardian Innovation Awards 。 2011年3月, Platform Computing 宣布在它的Symphony软件中支持Hadoop MapReduce API。 2011年5月,Mapr Technologies公司推出分布式文件系统和MapReduce引擎——MapR Distribution for Apache Hadoop。 2011年5月,HCatalog 1.0发布。该项目由Hortonworks 在2010年3月份提出,HCatalog主要用于解决数据存储、元数据的问题,主要解决HDFS的瓶颈,它提供了一个地方来存储数据的状态信息,这使得数据清理和归档工具可以很容易的进行处理。 2011年4月,SGI( Silicon Graphics International )基于SGI Rackable和CloudRack服务器产品线提供Hadoop优化的解决方案。 2011年5月,EMC为客户推出一种新的基于开源Hadoop解决方案的数据中心设备——GreenPlum HD,以助其满足客户日益增长的数据分析需求并加快利用开源数据分析软件。Greenplum是EMC在2010年7月收购的一家开源数据仓库公司。 2011年5月,在收购了Engenio之后, NetApp推出与Hadoop应用结合的产品E5400存储系统。 2011年6月,Calxeda公司(之前公司的名字是Smooth-Stone)发起了“开拓者行动”,一个由10家软件公司组成的团队将为基于Calxeda即将推出的ARM系统上芯片设计的服务器提供支持。并为Hadoop提供低功耗服务器技术。 2011年6月,数据集成供应商Informatica发布了其旗舰产品,产品设计初衷是处理当今事务和社会媒体所产生的海量数据,同时支持Hadoop。 2011年7月,Yahoo!和硅谷风险投资公司 Benchmark Capital创建了Hortonworks 公司,旨在让Hadoop更加鲁棒(可靠),并让企业用户更容易安装、管理和使用Hadoop。 2011年8月,Cloudera公布了一项有益于合作伙伴生态系统的计划——创建一个生态系统,以便硬件供应商、软件供应商以及系统集成商可以一起探索如何使用Hadoop更好的洞察数据。 2011年8月,Dell与Cloudera联合推出Hadoop解决方案——Cloudera Enterprise。Cloudera Enterprise基于Dell PowerEdge C2100机架服务器以及Dell PowerConnect 6248以太网交换机 。Hadoop七年(2011)发展历程
  • 5. 4X86 Servers标准工业服务器标准刀片服务器 (更省电、单位计算密度更高)
  • 6. 5Hadoop生态系统Mahout (Scalable machine learning and data mining)
  • 7. 6HDFS是Google File System(GFS)的开源实现 MapReduce是Google MapReduce的开源实现 HBase是Google BigTable的开源实现Hadoop框架是将Google核心算法开源实现目前Release版本是0.20.203.0。已经集群规模已经可以达到4000个节点,是由Yahoo!实验室中构建的。下面是此集群的相关数据:   · 4000 节点   · 2 x quad core Xeons@2.5ghz per 节点   · 4 x 1TB SATA Disk per 节点   · 8G RAM per 节点   · 千兆带宽 per 节点   · 每机架有40个节点   · 每个机架有4千兆以太网上行链路   · Redhat Linux AS4 ( Nahant update 5 )   · Sun Java JDK1.6.0_05 - b13   · 所以整个集群有30000多个CPU,近16PB的磁盘空间! 目前这个项目还在进行中,还没有到达1.0版本,和Google系统的差距也非常大,但是进步非常快。16PB=16*1024*1024=16777216GB
  • 8. 7谁在使用Hadoop框架从初创到现在,Hadoop经过了至少7年的积累,现在的Hadoop不仅是当年的老二Yahoo的专用产品了,从Hadoop长长的用户名单中,可以看到Facebook、Linkedin、Amazon,可以看到EMC、eBay、Twitter、IBM、Microsoft,、Apple、HP…国内的公司有淘宝、百度等等。
  • 9. 8Hadoop基础架构HDFS & Map Reduce分布式计算框架
  • 10. 9Hadoop Zookeeper框架
  • 11. Zookeeper客户端Zookeeper服务10搜索引擎搜索引擎(索引中)搜索引擎搜索引擎搜索引擎 (休息)Web ServicesWeb ServicesWeb ServicesWEB服务层PHP Web ServerPHP Web ServerPHP Web Server邦购网搜索应用架构
  • 12. 11邦购网搜索应用服务器调度算法服务器调度算法 1)判断索引文件是否已创建,如果没有创建,在/SEARCHAPP/OUTOFSERVICE/创建节点状态【CREATE】,服务器开始创建索引文件,索引创建完成跳转到2) 2)【索引文件已创建】读取/SEARCHAPP/INSERVICE/下所有子节点,写入变量IN SERVICE NODES 3)如果变量IN SERVICE NODES小于等于最少服务节点,当前需要搜索服务,在/SEARCHAPP/INSERVICE下创建临时节点状态【SERVICE】,并且监测/SEARCHAPP/INSERVICE节点数据变化,服务器开始提供搜索服务,如果节点数据变化跳转到8) 4)变量IN SERVICE NODES大于最少服务节点,当前不需要搜索服务,读取ZooKeeper节点/SEARCHAPP/OUTOFSERVICE所有子节点,写入变量OUT OF SERVICE NODES 5)如果变量OUT OF SERVICE NODES大于等于最大不服务节点,在/SEARCHAPP/OUTOFSERVICE/创建临时节点状态【IDEL】,服务器等待60秒,调转到4) 6)变量OUT OF SERVICE NODES小于最大不服务节点,在/SEARCHAPP/OUTOFSERVICE/创建临时节点状态【CHECK】,服务器检查索引文件数据和数据库中数据比对 7)比对检查完毕服务器状态修改为【UPDATE】,并且根据检查结果服务器更新索引文件,更新完成后跳转到2) 8)【SERVICE】状态服务器接收到节点/SEARCHAPP/INSERVICE数据变化,根据索引最后更新时间的先后顺序,推选出1名代表,未当选的服务器继续提供搜索服务 9)被选出的服务器,跳转到2) 10)任何服务器死机,自动删除节点 搜索客户端调度算法 1)读取/SEARCHAPP/INSERVICE/下所有子节点,并且监测/SEARCHAPP/INSERVICE节点数据变化 2)取出所有子节点下可用服务器IP地址
  • 13. 12Hadoop Mahout框架Collaborative Filtering(协同过滤) User and Item based recommenders(用户和商品推荐) K-Means, Fuzzy K-Means clustering(K均值-模糊K均值聚类) Mean Shift clustering(均值聚类) Dirichlet process clustering Latent Dirichlet Allocation(狄利克雷分配) Singular value decomposition(奇异值分解) Parallel Frequent Pattern mining(并行频度模式挖掘) Complementary Naive Bayes classifier(贝叶斯分类) Random forest decision tree based classifier(随机森林决策树的分类) High performance java collections (previously colt collections)(高性能集合算法) A vibrant community and many more cool stuff to come by this summer thanks to Google summer of code
  • 14. 13最近一次消费(Recency) 消费频率(Frequency) 消费金额(Monetary)顾客价值RFM模型
  • 15. 14Hadoop HBase框架
  • 16. 15Hadoop Hive框架
  • 17. 16Hadoop Pig框架
  • 18. 17Hadoop Sqoop框架
  • 19. 18Hadoop Chukwa框架
  • 20. 19Hadoop 和 Oracle结合
  • 21. 20谢谢!