《Hadoop生态系统基本介绍.ppt》由会员分享,可在线阅读,更多相关《Hadoop生态系统基本介绍.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Hadoop发展展历程及各程及各组件介件介绍第一章第一章 课程程简介介课程介绍Hadoop发展历程Hadoop各组件介绍第二章第二章Hadoop发展历程WhyHadoop?Hadoop简史Hadoop核心组件Hadoop生态系统总结Hadoop解决的问题我们处在一个海量数据的时代我们正产生着比以往任何时候都多的数据-金融交易数据-网络数据-服务器日志-分析数据-电子邮件和短信-各类多媒体数据我们处在一个海量数据的时代我们产生数据的速度比以往任何时候都快-各类自动化数据-无处不在的互联网-用户自发生成的内容例如,-纽约证交所每天产生的交易数据多达1TB-Twitter每天处理3.4亿条信息-Fa
2、cebook每天有27亿条评论淘宝双11当天的营业额?淘宝双11全记录数据就是价值这些数据可用于许多有价值的应用-营销分析-产品推荐-需求预测-欺诈检测-更多、更多我们必须处理它以提取其价值数据处理的可扩展性受限我们如何处理所有这些信息有两个问题需要面对-大数据的存储HDFS-大数据的分析MapReduceWhyHadoop?Hadoop简史Hadoop版本Hadoop解决的问题Hadoop的史前Hadoop最开始用来提高ApacheNutch的可扩展性-Nutch是一个开源的Web搜索引擎项目两篇谷歌论文对这项成果有重大影响-TheGoogleFileSystem(存储)-Mapreduce
3、(处理)2002200320042005NutchcreatedGoogleFilesystempaperMapReducepaperNutchre-architecture早期HadoopHadoop后来从ApacheNutch被分离出来-第一次进入Lucene的一个子项目,称为hadoop-后来成为顶级Apache项目雅虎!领导早期的许多Hadoop开发-其他很多公司也接踵而至200620082008Hadoopsub-project1000-nodeYahoo!clusterTop-levelApacheprojectHadoop大事记2004年DougCuttingMikeCafare
4、lla实现了HDFS和MapReduce的初版2005年12月Nutch移植到新框架,Hadoop在20个节点上稳定运行2006年1月DougCutting加入雅虎2006年2月ApacheHadoop项目正式启动,支持MapReduce和HDFS独立发展2006年2月雅虎的网格计算团队采用Hadoop2006年4月在188个节点上(每节点10GB)运行排序测试机需要47.9个小时2006年5月雅虎建立了一个300个节点的Hadoop研究集群2006年5月在500个节点上运行排序测试集需要42个小时(硬件配置比4月份更好)2006年11月 研究集群增加到600个节点Hadoop大事记2006年
5、12月 排序测试记在20个节点上运行1.8个小时,100个节点上运行3.3个小时,500个节点上运行5.2个小时,900个节点上运行7.8个小时2007年1月研究集群增加到900个节点2007年4月研究集群增加到两个集群1000个节点2008年4月在900个节点上运行1TB的排序测试集仅需要209秒,成为全球最快2008年10月 研究集群每天状态10TB的数据2009年3月17个集群共24000个节点2009年4月在每分钟排序中胜出,59秒内排序500GB(1400个节点上)和173分钟内排序100TB的数据(在3400个节点上)WhyHadoop?Hadoop简史Hadoop版本Hadoop
6、解决的问题Hadoop版本http:/ stock.product,SUM(orders.purchases)FROM stock INNER JOIN orders ON(stock.id=orders.stock_id)WHERE orders.quarter=Q1 GROUP BY stock.product;Hadoop生态系统之zookeeperZookeeper简介在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。Zookeepe
7、r角色Zookeeper同步流程选完leader以后,zk就进入状态同步过程。1.leader等待server连接;2.Follower连接leader,将最大的zxid发送给leader;3.Leader根据follower的zxid确定同步点;4.完成同步后通知follower已经成为uptodate状态;5.Follower收到uptodate消息后,又可以重新接受client的请求进行服务了。Hadoop生态系统之FlumeFlume人们很容易将现有文件添加到HDFS-hadoop fs put logfile.txt/tmp但是,如果想要将数据创建在HDFS上-例如,把服务器日志输出
8、到HDFS我们可以用Flume实现Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Flume架构Kafka分布式消息系统Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。Kafka相对其他消息系统,像activemq、rabbitmq在性能方面有很
9、大的优势。Kafka架构Hadoop生态系统之HbaseHBase简介HBASE-HadoopDatabase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可以在廉价PCServer上搭建起大规模结构化存储集群。HBase是GoogleBigtable的开源实现,类似GoogleBigtable利用GFS作为其文件存储系统,Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应
10、。HBase的体系架构HDFS:每个文件由多个Block组成,分散在多个DataNode上RegionServer是Hbase集群的物理节点RegionServer包含多个Region,一个表由多个Region组成Hmaster负责Region在RegionServer间的BalanceZookeeper集群存储索引表所在位置并负责主从节点的通信每个Region包含多个Store,一个列族对应一个StoreStore中包含一个或多个StoreFile,写数据时首先写入MemeStore,后续Flush到StoreFileWriteAheadLog,主要用于写恢复Client:HBase Cli
11、ent使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPCZookeeperZookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题,见下文描述Hmaster:HMaster没有单点问题,HBas
12、e中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:1.管理用户对Table的增、删、改、查操作2.管理HRegionServer的负载均衡,调整Region分布3.在Region Split后,负责新Region的分配4.在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移HBase工作流程Hbase的存的存储结构构RowKey时间戳戳列族列族1列族列族2列A列B列C13910000001T12012121aaa13910000002T12012122bbb13910000003T22012122ccc13910000004T12012124ddd13910000005T120121234bba13910000006T220121254aa13910000007T320121234cs13910000008T120121221ddf13910000009T32012121sdsxRegion1Region2Region3RegionServer1RegionServer2根据负载情况随机均匀分布Q&A?谢谢!