Hadoop---介绍.pptx

上传人:wj 文档编号:1376574 上传时间:2023-04-30 格式:PPTX 页数:52 大小:3.82MB
下载 相关 举报
Hadoop---介绍.pptx_第1页
第1页 / 共52页
Hadoop---介绍.pptx_第2页
第2页 / 共52页
Hadoop---介绍.pptx_第3页
第3页 / 共52页
Hadoop---介绍.pptx_第4页
第4页 / 共52页
Hadoop---介绍.pptx_第5页
第5页 / 共52页
Hadoop---介绍.pptx_第6页
第6页 / 共52页
Hadoop---介绍.pptx_第7页
第7页 / 共52页
Hadoop---介绍.pptx_第8页
第8页 / 共52页
Hadoop---介绍.pptx_第9页
第9页 / 共52页
Hadoop---介绍.pptx_第10页
第10页 / 共52页
Hadoop---介绍.pptx_第11页
第11页 / 共52页
Hadoop---介绍.pptx_第12页
第12页 / 共52页
Hadoop---介绍.pptx_第13页
第13页 / 共52页
Hadoop---介绍.pptx_第14页
第14页 / 共52页
Hadoop---介绍.pptx_第15页
第15页 / 共52页
Hadoop---介绍.pptx_第16页
第16页 / 共52页
Hadoop---介绍.pptx_第17页
第17页 / 共52页
Hadoop---介绍.pptx_第18页
第18页 / 共52页
Hadoop---介绍.pptx_第19页
第19页 / 共52页
Hadoop---介绍.pptx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Hadoop---介绍.pptx

《Hadoop---介绍.pptx》由会员分享,可在线阅读,更多相关《Hadoop---介绍.pptx(52页珍藏版)》请在冰点文库上搜索。

Hadoop---介绍.pptx

引言,古代,人们用牛来拉重物。

当一头牛拉不动一根圆木时,他们不曾想过培育更大更壮的牛。

同样,我们也不需要尝试开发超级计算机,而应试着结合使用更多的计算机系统。

-格蕾霍珀,Hadoop介绍,大数据技术需要解决的难题什么是Hadoop及其由来Hadoop生态坏境介绍HadoopYARN基本构架Hadoop的实际应用不同Hadoop版本间的比较,一、大数据技术需要解决的难题,海量数据如何存储?

海量数据如何处理?

1.海量数据如何存储?

海量数据的存储问题也不是今天才有的,很早以前就出现了,一些行业或者部门因为历史的积累,数据量也达到了一定的级别,当一台电脑无法存储这么庞大的数据时,采用的解决方案是使用NFS(网络文件系统)将数据分开存储,D:

software,E:

aabb,F:

ddcc,E:

images,Software,Tools,Film,Music,I.localpublic,I.localpublic,Software,Tools,Film,Music,NFS系统构架,缺点:

海量数据分析方面不能够充分利用多台计算机同时进行分析,2.海量数据如何计算?

对日志中的每一个用户的流量进行汇总就和,如下图所示:

一个实际的需求场景日志分析,对于这样的一个日志文件,如果只有这么几行数据,我们一般会采用这样的处理方式:

1、读取一行日志2、抽取手机号和流量字段3、累加到HashMap中4、遍历输出结果那么问题来了,如果数据量变得很大呢,比如一个日志文件里面有几个GB数据。

1、如果仍然一行一行去读,那么就会因为磁盘的IO瓶颈导致效率太低,速度太慢。

2、如果一次性加载到内存,那么就会因为单台计算机的内存空间有限而导致内存溢出。

3、如果将中间结果全部缓存到HashMap中,那么也会因为单台计算机的内存空间有限而导致内存溢出。

4、可以选择采用多线程处理,但是依然无法改变资源瓶颈的现实,因为一台计算器的CPU资源,内存资源,磁盘IO瓶颈是定,创建再多的线程也无法改变这个现实。

解决思路一,优点:

简单易行缺点:

1、单台计算机的扩展空间有限,CPU、内存、磁盘再怎么扩展也是有限的,无法无限扩展。

2、成本高(高端服务器非常昂贵,几百万甚至上千万一台,一般的小公司承受不起这样高昂的成本),纵向扩展:

也就是升级硬件,提高单机性能(增加内存,增强CPU、用更高性能的磁盘(如固态硬盘),比如可以购买IBM的高端服务器。

解决思路二,横向扩展:

用多台节点分布式集群处理(通过增加节点数量提高处理能力,这里说的节点指的就是一台计算机),核心思想:

任务分摊,通过协作来实现单节点无法实现的任务。

优点:

1、成本相对低(可采用普通机器)2、易于线性扩展缺点:

系统复杂度增加,我们要将我们的web应用部署到每一个节点上面,而多个节点协同工作时就要考虑以下几个问题1、如何调度资源2、任务如何监控3、中间结果如何调度4、系统如何容错5、如何实现众多节点间的协调分布式计算的复杂性就体现在这样的5个问题里面。

Hadoop介绍,大数据技术需要解决的难题什么是Hadoop及其由来Hadoop生态坏境介绍HadoopYARN基本构架Hadoop的实际应用不同Hadoop版本间的比较,二、什么是Hadoop?

Hadoop是一个开源的可运行于大规模集群上的分布式文件系统和运行处理基础框架。

Hadoop擅长于在廉价机器搭建的集群上进行海量数据(结构化与非结构化)的存储与离线处理。

Hadoop就是一门用来处理大数据的技术,就是用来解决上述提到的分布式计算里面的5个技术难题的。

Hadoop的由来,Google云计算,GFS,MapReduce,BigTable,Chubby,GFSHDFSMapReduceHadoopBigTableHBase,Hadoop由ApacheSoftwareFoundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。

它受到最先由GoogleLab开发的MapReduce和GoogleFileSystem的启发。

2006年3月份,MapReduce和NutchDistributedFileSystem(NDFS)分别被纳入称为Hadoop的项目中。

Hadoop是最受欢迎的在Internet上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。

例如,如果您要grep一个10TB的巨型文件,会出现什么情况?

在传统的系统上,这将需要很长的时间。

但是Hadoop在设计时就考虑到这些问题,因此能大大提高效率。

Hadoop可以做什么?

案例1:

我想知道过去100年中每年的最高温度分别是多少?

这是一个非常典型的代表,该问题里边包含了大量的信息数据。

针对于气象数据来说,全球会有非常多的数据采集点,每个采集点在24小时中会以不同的频率进行采样,并且以每年持续365天这样的过程,一直要收集100年的数据信息。

然后在这100年的所有数据中,抽取出每年最高的温度值,最终生成结果。

该过程会伴随着大量的数据分析工作,并且会有大量的半结构化数据作为基础研究对象。

如果使用高配大型主机(Unix环境)计算,完成时间是以几十分钟或小时为单位的数量级,而通过Hadoop完成,在合理的节点和架构下,只需要“秒”级。

案例3:

Wal-Mart采用Hadoop来分析顾客搜寻商品的行为,即客户是通过哪些商品的关键字搜索到Wal-Mart的网站的,从而可以规划下一季度的商品促销策略。

案例2:

通用电气通过hadoop集群分析在市场营销活动中,外界对公司的所持看法(正面,中立看法或负面看法),Hadoop介绍,大数据技术需要解决的难题什么是Hadoop及其由来Hadoop生态坏境介绍HadoopYARN基本构架Hadoop的实际应用不同Hadoop版本间的比较,三、Hadoop生态坏境介绍,Hadoop是一个能够对大量数据进行分布式处理的软件框架。

具有可靠、高效、可伸缩的特点。

Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。

右图为hadoop的生态系统:

1.HDFS(Hadoop分布式文件系统),HDFS:

源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版。

是Hadoop体系中数据存储管理的基础。

它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。

HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

Client:

切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。

NameNode:

Master节点,在hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。

DataNode:

Slave节点,存储实际的数据,汇报存储信息给NameNode。

SecondaryNameNode:

辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但SecondaryNameNode并非NameNode的热备。

2.Mapreduce(分布式计算框架),HadoopMapReduce是googleMapReduce克隆版。

MapReduce是一种计算模型,用以进行大数据量的计算。

其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。

Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。

MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

JobTracker:

Master节点,只有一个,管理所有作业,作业/任务的监控、错误处理等;将任务分解成一系列任务,并分派给TaskTracker。

TaskTracker:

Slave节点,运行MapTask和ReduceTask;并与JobTracker交互,汇报任务状态。

MapTask:

解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。

ReducerTask:

从MapTask的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行,Mapreduce处理流程,3、Hive(基于Hadoop的数据仓库),Hive由facebook开源,最初用于解决海量结构化的日志数据统计问题。

Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。

通常用于离线分析。

4、Hbase(分布式列存数据库),Hbae源自Google的Bigtable论文,发表于2006年11月,HBase是GoogleBigtable克隆版HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。

和传统关系数据库不同,HBase采用了BigTable的数据模型:

增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。

HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

数据模型:

Schema-Table-ColumnFamily-Column-RowKey-TimeStamp-Value,其他组件1,5、Zookeeper(分布式协作服务)源自Google的Chubby论文,发表于2006年11月,Zookeeper是Chubby克隆版解决分布式环境下的数据管理问题:

统一命名,状态同步,集群管理,配置同步等。

6、Sqoop(数据同步工具)Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。

数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

7、Pig(基于Hadoop的数据流系统)由yahoo!

开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具定义了一种数据流语言PigLatin,将脚本转换为MapReduce任务在Hadoop上执行。

通常用于进行离线分析。

其他组件2,8、Mahout(数据挖掘算法库)Mahout起源于2008年,最初是ApacheLucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目。

Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。

Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。

除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB或Cassandra)集成等数据挖掘支持架构。

9、Flume(日志收集工具)Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。

它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。

同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。

此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。

Hadoop介绍,大数据技术需要解决的难题什么是Hadoop及其由来Hadoop生态坏境介绍HadoopYARN基本构架Hadoop的实际应用不同Hadoop版本间的比较,四、HadoopYARN基本构架,HadoopYARN产生背景HadoopYARN基本构架运行在YARN的计算框架YARN发展趋势,1、HadoopYARN产生背景,直接源于MRv1在几个方面的缺陷扩展性受限单点故障难以支持MR之外的计算多计算框架各自为战,数据共享困难MR:

离线计算框架Storm:

实时计算框架Spark:

内存计算框架,Hadoop1.0和2.0,Hadoop2.0由HDFS、MapReduce和YARN三个分支构成;HDFS:

NNFederation、HA;MapReduce:

运行在YARN上的MR;YARN:

资源管理系统,2、HadoopYARN基本构架,HadoopYARN各模块组成ResourceManager处理客户端请求启动/监控ApplicationMaster监控NodeManager资源分配与调度NodeManager单个节点上的资源管理处理来自ResourceManager的命令处理来自ApplicationMaster的命令ApplicationMaster数据切分为应用程序申请资源,并分配给内部任务任务监控与容错,HadoopYARN运行流程分析,HadoopYARN调度框架,双层调度框架RM将资源分配给AMAM将资源进一步分配给各个Task基于资源预留的调度策略资源不够时,会为Task预留,直到资源充足与“allornothing”策略不同(ApacheMesos),HadoopYARN资源调度器,多类型资源调度采用DRF算法(论文:

“DominantResourceFairness:

FairAllocationofMultipleResourceTypes”)目前支持CPU和内存两种资源提供多种资源调度器FIFOFairSchedulerCapacityScheduler多租户资源调度器支持资源按比例分配支持层级队列划分方式支持资源抢占,HadoopYARN资源隔离方案及资源调度语义,支持内存和CPU两种资源隔离内存是一种“决定生死”的资源CPU是一种“影响快慢”的资源内存隔离基于线程监控的方案基于Cgroups的方案CPU隔离默认不对CPU资源进行隔离基于Cgroups的方案,支持的语义请求某个特定节点/机架上的特定资源量将某些节点加入(或移除)黑名单,不再为自己分配这些节点上的资源请求归还某些资源不支持的语义请求任意节点/机架上的特定资源量请求一组或几组符合某种特质的资源超细粒度资源动态调整Container资源,3、运行在YARN的计算框架,Map,input,output,Map,input,Reduce,output,Stage1,input,output,Stage,2Stage,3,Stage4,Stage1,input,output,Stage,2Stage,StageN,YARN应用程序类型,长应用程序和短应用程序长应用程序Service、HTTPServer等短应用程序MRjob、SparkJob等,以YARN为核心的生态系统,运行在YARN上的计算框架,离线计算框架:

MapReduceDAG计算框架:

Tez流式计算框架:

Storm内存计算框架:

Spark图计算框架:

Giraph、GraphLib,离线计算框架MapReduce,将计算过程分为两个阶段,Map和ReduceMap阶段并行处理输入数据Reduce阶段对Map结果进行汇总Shuffle连接Map和Reduce两个阶段MapTask将数据写到本地磁盘ReduceTask从每个MapTask上读取一份数据仅适合离线批处理具有很好的容错性和扩展性适合简单的批处理任务缺点明显启动开销大、过多使用磁盘导致效率低下等,MapReduceOnYARN,DAG计算框架Tez,多个作业之间存在数据依赖关系,并形成一个依赖关系有向图(DirectedAcyclicGraph),该图的计算称为“DAG计算”ApacheTez:

基于YARN的DAG计算框架运行在YARN之上,充分利用YARN的资源管理和容错等功能;提供了丰富的数据流(dataflow)API;扩展性良好的“Input-Processor-Output”运行时模型;动态生成物理数据流关系。

Phase1,Phase2,Phase3,Phase4,Phase5,Map,Reduce,Map,Reduce,Reduce,Tez优化技术,ApplicationMaster缓冲池作业提交到AMPoolServer服务上预启动若干个ApplicationMaster,形成一个ApplicationMaster缓冲池预先启动ContainerApplicationMaster启动时可以预先启动若干个ContainerContainer重用任务运行完成后,ApplicationMaster不会马上注销它使用的Container,而是将它重新分配给其他未运行的任务,Tez应用场景,直接编写应用程序Tez提供了一套通用编程接口适合编写有依赖关系的作业优化Pig、Hive等引擎下一代Hive:

Stinger好处1:

避免查询语句转换成过多的MapReduce作业后产生大量不必要的网络和磁盘IO好处2:

更加智能的任务处理引擎,流式计算框架Storm,流式(Streaming)计算,是指被处理的数据像流水一样不断流入系统,而系统需要针对每条数据进行实时处理和计算,并永不停止(直到用户显式杀死进程);传统做法:

由消息队列和消息处理者组成的实时处理网络进行实时计算缺乏自动化缺乏健壮性伸缩性差Storm出现。

流式计算框架Storm,流式计算框架Storm拓扑结构图,Storm与MRv1对比表,系统服务,应用程序,编程模型,StormOnYARN,内存计算框架Spark,克服MapReduce在迭代式计算和交互式计算方面的不足;引入RDD(ResilientDistributedDatasets)数据表示模型;RDD是一个有容错机制,可以被并行操作的数据集合,能够被缓存到内存或磁盘上。

内存计算框架Spark,SparkOnYARN,Spark生态系统,4、YARN发展趋势,资源管理系统带来的好处提高集群资源利用率,服务自动化部署bin/hadoopinstallhbase-version0.95.0-slaves10,YARN(资源管理系统),HDFS2(分布式存储系统),zookeeper,zookeeper,zookeeper,softwarecodebase,HBase|_0.92.0|_0.94.0|_0.95.0,InstallerAppMaster,资源管理系统发展趋势,Scheduling,logic,Schedulinglogic,Schedulinglogic,Schedulinglogic,Schedulinglogic,subset,fullstate,ClusterMachines,Noconcurrency,pessimisticconcurrency(offers),optimisticconcurrency(transactions),集中式调度,双层调度,共享状态调度,YARN自身的完善,调度框架的完善支持更多的资源类型(网络、磁盘等)支持更多的调度语义长作业的在线升级Storm在线升级等Container资源动态调整容错机制ResourceManager自身容错NodeManager宕掉,任务不受影响ApplicationMaster个性化容错,以YARN为核心的生态系统,YARN使得Hadoop生态系统更加强大,吸纳其他开源计算框架,比Storm、Spark等变为集群管理者,MapReduce,Tez,HBase,Storm,Giraph,Spark,OpenMPI,YARN(资源管理系统)HDFS2(分布式存储系统),再见,

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2