Hadoop生态系统基本介绍.ppt

上传人:xt****7 文档编号:1847784 上传时间:2019-11-08 格式:PPT 页数:60 大小:1.59MB
返回 下载 相关 举报
Hadoop生态系统基本介绍.ppt_第1页
第1页 / 共60页
Hadoop生态系统基本介绍.ppt_第2页
第2页 / 共60页
Hadoop生态系统基本介绍.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
Hadoop发展历程及各组件介绍,第一章 课程简介,课程介绍,Hadoop发展历程 Hadoop各组件介绍,第二章 Hadoop发展历程,Why Hadoop? Hadoop简史 Hadoop核心组件 Hadoop生态系统 总结,Hadoop 解决的问题,我们处在一个海量数据的时代,我们正产生着比以往任何时候都多的数据 - 金融交易数据 - 网络数据 - 服务器日志 - 分析数据 - 电子邮件和短信 - 各类多媒体数据,我们处在一个海量数据的时代,我们产生数据的速度比以往任何时候都快 - 各类自动化数据 - 无处不在的互联网 - 用户自发生成的内容 例如, - 纽约证交所每天产生的交易数据多达1TB - Twitter 每天处理3.4亿条信息 - 每天有27亿条评论,淘宝双11当天的营业额?,淘宝双11全记录,数据就是价值,这些数据可用于许多有价值的应用 - 营销分析 - 产品推荐 - 需求预测 - 欺诈检测 - 更多、更多 我们必须处理它以提取其价值,数据处理的可扩展性受限,我们如何处理所有这些信息 有两个问题需要面对 -大数据的存储HDFS -大数据的分析MapReduce,Why Hadoop? Hadoop简史 Hadoop版本,Hadoop 解决的问题,Hadoop的史前,Hadoop最开始用来提高Apache Nutch的可扩展性 - Nutch是一个开源的Web搜索引擎项目 两篇谷歌论文对这项成果有重大影响 - The Google File System (存储) - 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独立发展 2006年2月 雅虎的网格计算团队采用Hadoop 2006年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月 在900个节点上运行1TB的排序测试集仅需要209秒,成为全球最快 2008年10月 研究集群每天状态10TB的数据 2009年3月 17个集群共24000个节点 2009年4月 在每分钟排序中胜出,59秒内排序500GB(1400个节点上)和173分钟 内排序100TB的数据(在3400个节点上),Why Hadoop? Hadoop简史 Hadoop版本,Hadoop 解决的问题,Hadoop版本, 社区版本 CDH版本 HDP版本 发行版本比社区版本在兼容性、稳定性、安全性上有增强。 CDH版本集成了自己的安全组件和集群管理工具,相对更适合搭建企业的hadoop平台;在企业中应用广泛,稳定全面。 HDP版本相对于CDH版本,更贴近社区的开源版本;集成了更多的开源组件;提供开源的安装和管理工具Ambari;与微软合作,推出windows上的HDP;提供sandbox集成版本,方便自学。,CDH版本, CDH版本 CDH发布的产品的版本通常是下面这种形式 hadoop-2.3.0-cdh5.0.0 2.3.0是社区的hadoop版本 cdh5.0.0是cloudera自己的版本 CDH3,CDH4,CDH5分别对应了Hadoop 0.20 hadoop2.0 hadoop2.3,HDP版本, HDP版本,第二章 Hadoop各组件介绍,第二章 Hadoop各组件介绍,Hadoop生态系统概述,核心 Hadoop组件,Hadoop系统用于大数据处理 Hadoop提供了两个主要的组件来实现这个 - 数据存储:HDFS - 数据处理:MapReduce 加上完成基本功能所需的组件,包括 - 文件系统功能 - 作业调度和监控 - Web UI,Hadoop 生态系统,HDFS 特性,高性能 容错 相对简单的集中管理 - 主从架构 优化了MapReduce处理 - 数据本地处理 可扩展性,经典 HDFS 架构,HDFS的架构最近有所改进 - 更有弹性 - 更好的可扩展性 这些变化只是在最近的版本中可用 - 如Cloudera的CDH4 - 目前版本CDH5 许多人仍然运行在生产之前的版本 - 我们将首先讨论早期架构 - 然后我们将讨论它是如何改变的,传统的HDFS架构概述,在“经典”HDFS有三个守护进程 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,namenode,client,Hadoop 生态系统,如何理解mapreduce过程?, 理解mapreduce,MapReduce是什么?,MapReduce是一个编程模型 - 既不是平台也不基于特定于语言 - 面向记录的数据处理(键和值) - 多节点共同处理一个任务 在可能的情况下,每个节点处理存储在各自节点上的数据 包括两个阶段 - Map - Reduce 在Map和Reduce之间是shuffle和sort阶段 - 从Mapper向 Reducer发送数据,MapReduce是什么?(contd),数据处理的过程跟Unix的管道比较类似,cat /my/log | grep .html |sort | uniq c /my/outfile,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 sofa Intermediate 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),MapReduce: 简单的例子(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需要完成的任务太多,既要维护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,http:/hive.apache.org/ 建立在Hadoop基础上的数据仓库架构,它为数据仓库的管理提供了许多功能,包括:数据ETL(抽取、转换和加载)工具、数据存储管理和大型数据集的查询和分析能力 Hive是MapReduce的一个高度抽象实现 - 最初由的一个团队创建 - 避免写Java MapReduce代码 - 在HDFS中的数据被非常类似于SQL的语言查询 - 称为HiveQL Hive解释器把HiveQL转成MapReduce任务 - 表对应存储在HDFS上的一个目录 - Hive Metastore包含如何将文件映射到一个表结构的信息,Hive (contd),Example Hive query: SELECT 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 生态系统之zookeeper,Zookeeper简介,在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。,Zookeeper角色,Zookeeper同步流程,选完leader以后,zk就进入状态同步过程。 1. leader等待server连接; 2 .Follower连接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是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。,Flume架构,Kafka分布式消息系统,Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。 活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。 Kafka相对其他消息系统,像activemq、rabbitmq在性能方面有很大的优势。,Kafka架构,Hadoop 生态系统之Hbase,HBase 简介,HBASE -Hadoop Database 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用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上,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和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC Zookeeper Zookeeper 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?,谢谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!