大数据平台简介课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《大数据平台简介课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 平台 简介 课件
- 资源描述:
-
1、大数据平台简介2目录目录一Hadoop生态系统二Hadoop主流厂商三HDFS四MapReduce五Hive六Spark3Hadoop生态系统4Hadoop 1.0 V 2.05Hadoop生态系统Ambari(安装部署工具)Zookeeper(分布式协调服务)HBase(分布式协数据库)Oozie(作业流调度系统)HDFS(分布式存储系统)YARN(分布式计算框架)MapReduce(离线计算)Tez(DAG计算)Spark(内存计算)HivePigMahoutSqoop(数据库TEL工具)Flume(日志收集)6HDFSHadoop Distributed File System7Yarn
2、资源管理器8MapReduce分布式并行计算框架“你数一号书架,我数二号书架。我们人数多,数书就更快。这就是map;最后我们到一起,把所有人的统计数加在一起,就是reduce。”9Spark新一代大数据处理计算引擎You can run Spark using its standalone cluster mode,on EC2,on Hadoop YARN,or on Apache Mesos.Access data in HDFS,Cassandra,HBase,Hive,Tachyon,and any Hadoop data source.10HBaseNoSQL数据库11Hivehad
3、oop的数据仓库12Pig大规模数据分析平台Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。Apache pig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C+等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。A=LOAD a.txt AS(col1:chararray,col2:int,col3:
4、int,col4:int,col5:double,col6:double);B=GROUP A BY(col2,col3,col4);C=FOREACH B GENERATE group,AVG(A.col5),AVG(A.col6);DUMP C;13Mahout机器学习算法库Mahout 是 Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout
5、可以有效地扩展到云中。14Zookeeper分布式协调服务15SqoopHadoop与关系数据库间的数据同步工具16Flume分布式日志采集工具17AmariHadoop集群安装部署监控工具18Hadoop主流厂商19大数据领域的三驾马车ClouderaHortonworksMapR20Cloudera Distribution Hadoop(CDH)21Hortonworks Data Platform(HDP)22MapR Converged Data Platform23Hadoop主流厂商比较开源开源管理开源管理架构创新完全开源收取服务费工具不开源收取License费用重构了底层内核收
6、取License费用24云服务云服务集团集团软件软件集团集团浪潮大数据平台产品HDP云海Insight HDIndata HD25HDFS26相关背景资料Hadoop:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Distributed:分布式计算是利用互联网上的计算机的 CPU 的共同处理能力来解决大型计算问题的一种计算科学。File system:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。27Hadoop和
7、HDFS的关系Hadoop 是一个以一种可靠、高效、可伸缩的方式进行处理的,能够对大量数据进行分布式处理的系统框架。HDFS是Hadoop兼容最好的标准级文件系统,因为Hadoop是一个综合性的文件系统抽象,所以HDFS不是Hadoop必需的。所以可以理解为hadoop是一个框架,HDFS是hadoop中的一个部件。28HDFS背景介绍随着数据量越来越大,在一个操作系统管辖的范围存不下了,那么就 分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。分布式文件系统:一种允许文件通过网络在多台主机上分享的文件系统,可以让多个机器
8、上的多个用户分享文件和存储空间。29集群通透性:DFS让实际上是通过网络来访问文件的动作,由用户和程序看来,就像访问本地的磁盘一般。分布式文件系统特点RootsplitBlockBlock目录 1目录 2File节点节点节点30HDFS是什么HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。HDFS被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用HDFS可以实现流的形式访问(
9、streaming access)文件系统中的数据对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。对于用户来说,可以直接看成是一个巨大的硬盘。31HDFS特点 GB、TB、甚至PB级数据;百万规模以上的文件数量;10K+节点规模适合大数据处理 HDFS使应用程序流式地访问它们的数据集。所以它重 视数据吞吐量,而不是数据访问的反应速度。流式文件访问 HDFS被设计成适合进行批量处理,而不是用户交互式 处理;移动计算而非数据;数据位置暴露给计算框架适合批处理 通过多副本提高可靠性;提供了容错和恢复机制可构建廉价机器上 数据自动保存多个副本;副本丢失后
10、,自动恢复高容错性 一次性写入,多次读取;保证数据一致性简化一致性模型 HDFS在设计的时候就考虑到平台的可移植性。这种特 性方便了HDFS作为大规模数据应用平台的推广可移植性32HDFS的局限性 不支持多用户对同一文件进行操作,而且写操作只 能在文件末尾完成,即追加操作。并发写入、文件随机修改 由于HDFS是为高数据吞吐量应用而设计的,必然 以高延迟为代价。不适合低延迟与高吞吐率的数据 访问,比如毫秒级不适合低延迟数据访问 HDFS中元数据(文件的基本信息)存储在 namenode的内存中,而namenode为单点,小文 件数量大到一定程度,namenode内存就吃不消了 ;寻道时间超过读取
11、时间无法高效存储大量小文件33HDFS现在遇到的主要问题分布后的文件系统有个无法回避的问题,因为文件不在一个磁盘导致读取访问操作的延时,这个是HDFS现在遇到的主要问题HDFS 调优是使用时最调优是使用时最应该注意的。应该注意的。现阶段,HDFS的配置是按照高数据吞吐量优化的,可能会以高时间延时为代价。但万幸的是,HDFS是具有很高弹性,可以针对具体应用再优化。34总体架构图HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanode组成,他们以管理者-工作者模式工作。35总体架构图-Client切分文件;访问或通过命令行管理HDFS;与Nam
12、eNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。36HDFS的基本结构之 NameNodeNamenode是一个中心服务器,负责管理文件系统的命名空间协调客户端对文件的访问Namenode执行文件系统的命名空间操作,例如打开、关闭、重命名文件和目录记录每个文件数据块在各个Datanode上的位置和副本信息37HDFS元数据持久化NameNode存有HDFS的元数据:主要由FSImage和EditLog组成。FSImage是元数据镜像文件保存整个文件系统的目录树数据块映射关系:文件与数据块映射关系,DataNode与数据块映射关系EditLog是元数据操作日志,记录每次
13、保存fsimage之后到下次保存之间的所有hdfs操作NameNodeFileSystemImageEditLog命名空间操作记录,如打开、关闭、创建、删除、重命名文件和目录38HDFS元数据持久化checkpoint:NameNode启动后,它会从磁盘中读取FsImage及EditLog,应用EditLog中所有的事务到存在于内存中的FsImage文件对象,然后将版本较新的这个FsImage文件写入磁盘,之后EditLog就可以被删除了。一个checkpoint只发生在NameNode启动的时候。Blockreport:当一个DataNode启动时,它会扫描本地文件系统,生成所有HDFS数据
14、块的一个列表,然后向NameNode发送一个报告。39HDFS的基本结构之 DataNodeDatanode一般是一个节点一个,负责所在物理节点的存储管理,是文件系统中真正存储数据的地方一个文件被分成一个或多个数据块,这些块存储在一组Datanode上Datanode负责处理文件系统客户端的读写请求。在Namenode的指挥下进行block的创建、删除和复制周期性的向Namenode汇报其存储的数据块信息40数据组织数据块(block):大文件会被分割成多个block进行存储,block大小默认为128MB。比磁盘块大很多,目的是减少寻址开销。并不是设置块越大越好。每一个block会在多个da
15、tanode上存储多份副本,默认是3份。与其他文件系统不一样,HDFS中每个小于块大小的文件不会占据整个块的空间。HDFS128 MB128 MB128 MB128 MB41数据复制大文件在集群中跨机器存储每个文件存储成一系列的数据块,除了最后一个,所有的数据块都是同样大小的为了容错,文件的所有数据块都会有副本。每个文件的数据块大小和副本系数都是可配置的Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告42副本策略HDFS采用机架感知(rack awareness)的副本存放策略来提高数据的可靠性、可用性和网络带宽的利用率。将第一个副本放在本
16、地节点,将第二个副本放到本地机架上的另外一个节点,而将第三个副本放到不同机架上的节点。文件的副本不是均匀地分布在机架当中,这种方式提高了写的性能,并且不影响数据的可靠性和读性能(选择读取最近的副本)Node大数据集群Rack1Rack243DataNodeDataNodeHDFS稳健性故障的类型:NameNode故障,DataNode故障和网络中断数据磁盘故障,心跳及重新复制pDataNode因为故障而不可用p拷贝过程失败pDataNode上的磁盘坏掉p副本数量会被增加NameNode启动block重新复制:NameNodeDataNodeDeadDataNodeDataNodeHeartBe
17、ats44HDFS稳健性数据完整性HDFS客户端应用实现了对文件内容的校验和。HDFS写入的时候计算出校验和,然后每次读的时候再计算校验和。元数据磁盘故障NameNode在HDFS集群中属于单点故障。没有namenode,文件系统会崩溃,文件系统上的所有文件将丢失(无法读出,因为无法定位元数据块的位置)HA高可用架构:NameNode热备45HA架构解决的问题NameNode单点故障HDFS只有一个NameNode节点,当NameNode崩溃后,整个HDFS集群随之崩溃,直到Namenode重启或者其他Namenode接入HDFS HA:为了解决NameNode的单点故障,为NameNode保
18、存一个热备,两个独立的机器作为NameNode:Active Namenode、Standby Namenode。任何时刻,只有一个Namenode处于Active状态,另一个处于standby状态(passive,备份);Active Namenode用于接收Client端请求,Standy节点作为slave保持集群的状态数据以备快速failover.46HA架构图写入读出DataNodeDataNodeDataNode.NameNodeactiveNameNodestandbyQJM/NFSZookeeperFCZookeeperFC监控NN状态管理HA状态监控NN状态管理HA状态Zook
19、eeperHeartbeatHeartbeat47HA架构-快速failoverDatanodes上需要同时配置这两个Namenode的地址,同时和它们都建立心跳链接,并把block位置发送给它们,这样Standby node持有集群中blocks的最新位置当Active NN失效时,StandbyNN切换成Active NNNameNodeactiveDataNodeDataNodeDataNodeDataNodeNameNodestandbyHeartBeats共享数据48两种HA方案对比QJM vs NFS 共同点都是热备方案都是一个active Namenode(NN)和一个stand
20、by NN使用Zookeeper(ZK)quorum和ZKFC来实现自动失效恢复。在失效恢复时都需要配置fencing方法来fence active NN二者共享数据方式不同参与HA的不同角色HDFS with NFSHDFS with QJMNamenodeNamenodeHA NFS(共享数据变更存储)JournalNodeZookeeperZookeeperZKFailoverController processZKFailoverController process49HA方案-NFS实现机制active NN 和 standby NN需要共享一个存储目录。active NN会把数据变
21、更日志保存在该目录内,standby NN则监视更新,并保持数据同步。为了快速切换NN,DataNode(DN)需要知道两个NN的地址,并把块信息和心跳包发送给active和standby这两个NN。此外,为了保证active NN挂了以后不再有新数据写入,Fencing逻辑在确认active NN挂了以后会切断所有与原active NN的连接。HA with NFS 局限性目前只支持一个数据变更共享目录,导致HA能力受限于该目录为了防止共享目录的单点失效,对共享目录有额外的要求,比如冗余的硬盘、网络和电源等。NFS共享目录所在的设备要求是高可靠性。NFS方式部署更为复杂。50HA方案-QJM
22、Standby Node与Active Node保持同步这两个Node都与一组称为JNS的互相独立的进程保持通信(Journal Nodes)。当Active Node上更新了namespace,它将记录修改日志发送给JNS的多数派。Standby noes将会从JNS中读取这些edits,并持续关注它们对日志的变更。Standby Node将日志变更应用在自己的namespace中,即在failover发生之前,Standy持有namespace应该与Active保持完全同步。JournalNodeJournalNodeJournalNodeJournalNodeNameNodeactive
23、NameNodestandby向Journal Nodes写数据从Journal Nodes读数据51HA方案-QJM硬件资源 Namenode机器:两台配置对等的机器,它们分别运行Active和Standby NodeJouralNode机器:运行JouralNodes的机器。JouralNode守护进程相当的轻量级,它们可以和hadoop的其他进程部署在一起,比如Namenodes、jobTracker、ResourceManager等。不过为了形成多数派(majority),至少需要3个JouralNodes,因为edits操作必须在多数派上写入成功。当然JNS的个数可以 3,且通常为奇
24、数(3,5,7),这样可以更好的容错和形成多数派。如果你运行了N个JNS,那么它可以允许(N-1)/2个JNS进程失效并且不影响工作。52HDFS可访问性HDFS支持以文件和目录的形式组织用户数据。它提供了一个命令行接口(FS Shell)让用户与HDFS中的数据进行交互通过原生的 FileSystem Java API接口来访问浏览器的方式访问HDFS中的实例文件http:/nn_host:port/默认的http端口是5007053读文件Client JVMDataNodeDataNodeDataNodeNameNodeHDFSClientDistributedFileSystemFSDa
25、taInputStream1:open2:获取文件数据块所在的DataNode节点位置3:read7:complete6:close4:read5:read54写文件Client JVMDataNodeDataNodeDataNodeNameNodeHDFSClientDistributedFileSystemFSDataInputStream1:creat3:write7:complete6:close5:ack packet2:creat4:write packet454555回收存储空间文件的删除与恢复HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被
展开阅读全文