Hadoop生态系统基本介绍.ppt

上传人:牧羊曲112 文档编号:5432869 上传时间:2023-07-06 格式:PPT 页数:60 大小:1.62MB
返回 下载 相关 举报
Hadoop生态系统基本介绍.ppt_第1页
第1页 / 共60页
Hadoop生态系统基本介绍.ppt_第2页
第2页 / 共60页
Hadoop生态系统基本介绍.ppt_第3页
第3页 / 共60页
Hadoop生态系统基本介绍.ppt_第4页
第4页 / 共60页
Hadoop生态系统基本介绍.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《Hadoop生态系统基本介绍.ppt》由会员分享,可在线阅读,更多相关《Hadoop生态系统基本介绍.ppt(60页珍藏版)》请在三一办公上搜索。

1、Hadoop发展历程及各组件介绍,第一章 课程简介,课程介绍,Hadoop发展历程Hadoop各组件介绍,第二章Hadoop发展历程,Why Hadoop?Hadoop简史Hadoop核心组件Hadoop生态系统总结,Hadoop 解决的问题,我们处在一个海量数据的时代,我们正产生着比以往任何时候都多的数据-金融交易数据-网络数据-服务器日志-分析数据-电子邮件和短信-各类多媒体数据,我们处在一个海量数据的时代,我们产生数据的速度比以往任何时候都快-各类自动化数据-无处不在的互联网-用户自发生成的内容 例如,-纽约证交所每天产生的交易数据多达1TB-Twitter 每天处理3.4亿条信息-Fa

2、cebook每天有27亿条评论,淘宝双11当天的营业额?,淘宝双11全记录,数据就是价值,这些数据可用于许多有价值的应用-营销分析-产品推荐-需求预测-欺诈检测-更多、更多我们必须处理它以提取其价值,数据处理的可扩展性受限,我们如何处理所有这些信息有两个问题需要面对-大数据的存储HDFS-大数据的分析MapReduce,Why Hadoop?Hadoop简史Hadoop版本,Hadoop 解决的问题,Hadoop的史前,Hadoop最开始用来提高Apache Nutch的可扩展性-Nutch是一个开源的Web搜索引擎项目两篇谷歌论文对这项成果有重大影响-The Google File Syst

3、em(存储)-Mapreduce(处理),早期Hadoop,Hadoop后来从Apache Nutch被分离出来-第一次进入Lucene的一个子项目,称为hadoop-后来成为顶级Apache项目雅虎!领导早期的许多Hadoop开发-其他很多公司也接踵而至,Hadoop 大事记,2004年 Doug Cutting MikeCafarella实现了HDFS和MapReduce的初版2005年12月 Nutch移植到新框架,Hadoop在20个节点上稳定运行2006年1月Doug Cutting加入雅虎2006年2月Apache Hadoop项目正式启动,支持MapReduce和HDFS独立发展

4、2006年2月雅虎的网格计算团队采用Hadoop2006年4月在188个节点上(每节点10GB)运行排序测试机需要47.9个小时2006年5月雅虎建立了一个300个节点的Hadoop研究集群2006年5月在500个节点上运行排序测试集需要42个小时(硬件配置比4月份更好)2006年11月研究集群增加到600个节点,Hadoop 大事记,2006年12月排序测试记在20个节点上运行1.8个小时,100个节点上运行3.3个小时,500个节点上运行5.2个小时,900个节点上运行7.8个小时2007年1月研究集群增加到900个节点2007年4月研究集群增加到两个集群1000个节点2008年4月在90

5、0个节点上运行1TB的排序测试集仅需要209秒,成为全球最快2008年10月研究集群每天状态10TB的数据2009年3月17个集群共24000个节点2009年4月在每分钟排序中胜出,59秒内排序500GB(1400个节点上)和173分钟内排序100TB的数据(在3400个节点上),Why Hadoop?Hadoop简史Hadoop版本,Hadoop 解决的问题,Hadoop版本,http:/社区版本http:/CDH版本/HDP版本发行版本比社区版本在兼容性、稳定性、安全性上有增强。CDH版本集成了自己的安全组件和集群管理工具,相对更适合搭建企业的hadoop平台;在企业中应用广泛,稳定全面。

6、HDP版本相对于CDH版本,更贴近社区的开源版本;集成了更多的开源组件;提供开源的安装和管理工具Ambari;与微软合作,推出windows上的HDP;提供sandbox集成版本,方便自学。,CDH版本,CDH版本CDH发布的产品的版本通常是下面这种形式hadoop-2.3.0-cdh5.0.0 是社区的hadoop版本是cloudera自己的版本CDH3,CDH4,CDH5分别对应了Hadoop 0.20 hadoop2.0 hadoop2.3,HDP版本,http/HDP版本,第二章Hadoop各组件介绍,第二章Hadoop各组件介绍,Hadoop生态系统概述,核心 Hadoop组件,Ha

7、doop系统用于大数据处理Hadoop提供了两个主要的组件来实现这个-数据存储:HDFS-数据处理:MapReduce加上完成基本功能所需的组件,包括-文件系统功能-作业调度和监控-Web UI,Hadoop 生态系统,HDFS 特性,高性能容错相对简单的集中管理-主从架构优化了MapReduce处理-数据本地处理可扩展性,经典 HDFS 架构,HDFS的架构最近有所改进-更有弹性-更好的可扩展性这些变化只是在最近的版本中可用-如Cloudera的CDH4-目前版本CDH5许多人仍然运行在生产之前的版本-我们将首先讨论早期架构-然后我们将讨论它是如何改变的,传统的HDFS架构概述,在“经典”H

8、DFS有三个守护进程NameNode(主节点)Secondary NameNode(主节点)DataNode(从节点),基于QJM的HDFS HA架构概述,在HA模式的HDFS有如下的守护进程Active NameNode(主)standby NameNode(主)DataNode(从)JournalNode(奇数个)ZKFC(主备),写文件流程,Client node,namenode,datanode,datanode,datanode,Client JVM,Pipeline of datanodes,读文件流程,5:read,datanode,datanode,datanode,name

9、node,client,Hadoop 生态系统,如何理解mapreduce过程?,http/理解mapreduce,MapReduce是什么?,MapReduce是一个编程模型-既不是平台也不基于特定于语言-面向记录的数据处理(键和值)-多节点共同处理一个任务在可能的情况下,每个节点处理存储在各自节点上的数据包括两个阶段-Map-Reduce在Map和Reduce之间是shuffle和sort阶段-从Mapper向 Reducer发送数据,MapReduce是什么?(contd),数据处理的过程跟Unix的管道比较类似,cat/my/log|grep.html|sort|uniq c/my/o

10、utfile,Map,Shuffle and sort,Reduce,MapReduce v1架构概述,MapReduce:流程图,MapReduce:简单的例子(contd),Sample input to the Mapper:the cat sat on the mat the aardvark sat on the sofaIntermediate data produced:(the,1),(cat,1),(sat,1),(on,1),(the,1)(mat,1),(the,1),(aardvark,1),(sat,1)(on,1),(the,1),(sofa,1),MapReduc

11、e:简单的例子(contd),Input to the Reducer(aardvark,1)(cat,1)(mat,1)(on,1,1)(sat,1,1)(sofa,1)(the,1,1,1,1),MapReduce:简单的例子(contd),Output from the Reducer,written to HDFS:(aardvark,1)(cat,1)(mat,1)(on,2)(sat,2)(sofa,1)(the,4),MapReduce 2 YARN,经典MapReduce架构的问题JobTracker是集群事务的集中处理点,存在单点故障JobTracker需要完成的任务太多,既

12、要维护job的状态又要维护job的task的状态,造成过多的资源消耗在taskTracker端,用map/reduce task作为资源的表示过于简单,没有考虑到CPU、内存等资源情况,当把两个需要消耗大内存的task调度到一起,很容易出现OOM把资源强制划分为map/reduce slot,当只有map task时,reduce slot不能用;当只有reduce task时,map slot不能用,容易造成资源利用不足。,MRv2 系统架构(contd),Hadoop 生态系统之Hive,Hive,/建立在Hadoop基础上的数据仓库架构,它为数据仓库的管理提供了许多功能,包括:数据ETL

13、(抽取、转换和加载)工具、数据存储管理和大型数据集的查询和分析能力Hive是MapReduce的一个高度抽象实现-最初由Facebook的一个团队创建-避免写Java MapReduce代码-在HDFS中的数据被非常类似于SQL的语言查询-称为HiveQLHive解释器把HiveQL转成MapReduce任务-表对应存储在HDFS上的一个目录-Hive Metastore包含如何将文件映射到一个表结构的信息,Hive(contd),Example Hive query:SELECT stock.product,SUM(orders.purchases)FROM stock INNER JOIN

14、 orders ON(stock.id=orders.stock_id)WHERE orders.quarter=Q1 GROUP BY stock.product;,Hadoop 生态系统之zookeeper,Zookeeper简介,在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。,Zookeeper角色,Zookeeper同步流程,选完leader以后,zk就进入状态同步过程。1.leader等待server连接;2.Follower连

15、接leader,将最大的zxid发送给leader;3.Leader根据follower的zxid确定同步点;4.完成同步后通知follower 已经成为uptodate状态;5.Follower收到uptodate消息后,又可以重新接受client的请求进行服务了。,Hadoop生态系统之Flume,Flume,人们很容易将现有文件添加到HDFS-hadoop fs put logfile.txt/tmp但是,如果想要将数据创建在HDFS上-例如,把服务器日志输出到HDFS我们可以用Flume实现Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于

16、收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。,Flume架构,Kafka分布式消息系统,Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。Kafka相对其他消息系统,像activemq、rabbitmq在性能方面有很大的优势。,Kafka架构,Hadoop 生态系统之Hbase,HBase 简介,HBASE-Hadoop Database

17、 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可以在廉价PC Server上搭建起大规模结构化存储集群。HBase 是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。,HBase的体系架构,HDFS:每个文件由多个Block组成,分散在多个DataNode上

18、,RegionServer是Hbase集群的物理节点,RegionServer包含多个Region,一个表由多个Region组成,Hmaster负责Region在RegionServer间的Balance,Zookeeper集群存储索引表所在位置并负责主从节点的通信,每个Region包含多个Store,一个列族对应一个Store,Store中包含一个或多个StoreFile,写数据时首先写入MemeStore,后续Flush到StoreFile,WriteAheadLog,主要用于写恢复,Client:HBase Client使用HBase的RPC机制与HMaster和HRegionServe

19、r进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPCZookeeperZookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题,见下文描述Hmaster:HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:1.管理用户对Table的增、删、改、查操作2.管理HRegionServer的负载均衡,调整Region分布3.在Region Split后,负责新Region的分配4.在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移,HBase 工作流程,Hbase的存储结构,根据负载情况随机均匀分布,Q&A?,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号