大数据平台简介.pptx
《大数据平台简介.pptx》由会员分享,可在线阅读,更多相关《大数据平台简介.pptx(178页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大数据平台简介2目录目录1Hadoop生态系统2Hadoop主流厂商3HDFS4MapReduce5Hive6Spark3Hadoop生态系统4Hadoop1.0V2.05Hadoop生态系统Ambari(安装部署工具)Zookeeper(分布式协调服务)HBase(分布式协数据库)Oozie(作业流调度系统)HDFS(分布式存储系统)YARN(分布式计算框架)MapReduce(离线计算)Tez(DAG计算)Spark(内存计算)HivePigMahoutSqoop(数据库TEL工具)Flume(日志收集)6HDFSHadoopDistributedFileSystem7Yarn资源管理器8
2、MapReduce分布式并行计算框架“你数一号书架,我数二号书架。我们人数多,数书就更快。这就是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数据库11Hivehadoop的数据
3、仓库12Pig大规模数据分析平台Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫PigLatin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。Apachepig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C+等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。A=LOADa.txtAS(col1:chararray,col2:int,col3:int,col4:i
4、nt,col5:double,col6:double);B=GROUPABY(col2,col3,col4);C=FOREACHBGENERATEgroup,AVG(A.col5),AVG(A.col6);DUMPC;13Mahout机器学习算法库Mahout是ApacheSoftwareFoundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用ApacheHadoop库,Mahout可以有效地扩展到云中。14Zookeeper分布
5、式协调服务15SqoopHadoop与关系数据库间的数据同步工具16Flume分布式日志采集工具17AmariHadoop集群安装部署监控工具18Hadoop主流厂商19大数据领域的三驾马车ClouderaHortonworksMapR20ClouderaDistributionHadoop(CDH)21HortonworksDataPlatform(HDP)22MapRConvergedDataPlatform23Hadoop主流厂商比较开源开源管理开源管理架构创新完全开源收取服务费工具不开源收取License费用重构了底层内核收取License费用24云服云服务集集团软件件集集团浪潮大数据
6、平台产品HDP云海InsightHDIndataHD25HDFS26相关背景资料Hadoop:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Distributed:分布式计算是利用互联网上的计算机的CPU的共同处理能力来解决大型计算问题的一种计算科学。Filesystem:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。27Hadoop和HDFS的关系Hadoop是一个以一种可靠、高效、可伸缩的方式进行处理的,能够对
7、大量数据进行分布式处理的系统框架。HDFS是Hadoop兼容最好的标准级文件系统,因为Hadoop是一个综合性的文件系统抽象,所以HDFS不是Hadoop必需的。所以可以理解为hadoop是一个框架,HDFS是hadoop中的一个部件。28HDFS背景介绍随着数据量越来越大,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。分布式文件系统:一种允许文件通过网络在多台主机上分享的文件系统,可以让多个机器上的多个用户分享文件和存储空间。29集群通透性:DFS让实际上是通过网络来访问文件的
8、动作,由用户和程序看来,就像访问本地的磁盘一般。分布式文件系统特点RootsplitBlockBlock目录1目录2File节点节点节点30HDFS是什么HDFS是HadoopDistributeFileSystem的简称,也就是Hadoop的一个分布式文件系统。HDFS被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用HDFS可以实现流的形式访问(streamingaccess)文件系统中的数据对外部客户机而言,HDFS就像一个传统的分级文件系
9、统。可以创建、删除、移动或重命名文件,等等。对于用户来说,可以直接看成是一个巨大的硬盘。31HDFS特点GB、TB、甚至PB级数据;百万规模以上的文件数量;10K+节点规模适合大数据处理HDFS使应用程序流式地访问它们的数据集。所以它重视数据吞吐量,而不是数据访问的反应速度。流式文件访问HDFS被设计成适合进行批量处理,而不是用户交互式处理;移动计算而非数据;数据位置暴露给计算框架适合批处理通过多副本提高可靠性;提供了容错和恢复机制可构建廉价机器上数据自动保存多个副本;副本丢失后,自动恢复高容错性一次性写入,多次读取;保证数据一致性简化一致性模型HDFS在设计的时候就考虑到平台的可移植性。这种
10、特性方便了HDFS作为大规模数据应用平台的推广可移植性32HDFS的局限性不支持多用户对同一文件进行操作,而且写操作只能在文件末尾完成,即追加操作。并发写入、文件随机修改由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。不适合低延迟与高吞吐率的数据访问,比如毫秒级不适合低延迟数据访问HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了;寻道时间超过读取时间无法高效存储大量小文件33HDFS现在遇到的主要问题分布后的文件系统有个无法回避的问题,因为文件不在一个磁盘导致读取访问操作的延时,这个
11、是HDFS现在遇到的主要问题HDFS 调优是使用时最调优是使用时最应该注意的。应该注意的。现阶段,HDFS的配置是按照高数据吞吐量优化的,可能会以高时间延时为代价。但万幸的是,HDFS是具有很高弹性,可以针对具体应用再优化。34总体架构图HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanode组成,他们以管理者-工作者模式工作。35总体架构图-Client切分文件;访问或通过命令行管理HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。36HDFS的基本结构之NameNodeNamenode是一个中心
12、服务器,负责管理文件系统的命名空间协调客户端对文件的访问Namenode执行文件系统的命名空间操作,例如打开、关闭、重命名文件和目录记录每个文件数据块在各个Datanode上的位置和副本信息37HDFS元数据持久化NameNode存有HDFS的元数据:主要由FSImage和EditLog组成。FSImage是元数据镜像文件保存整个文件系统的目录树数据块映射关系:文件与数据块映射关系,DataNode与数据块映射关系EditLog是元数据操作日志,记录每次保存fsimage之后到下次保存之间的所有hdfs操作NameNodeFileSystemImageEditLog命名空间操作记录,如打开、关
13、闭、创建、删除、重命名文件和目录38HDFS元数据持久化checkpoint:NameNode启动后,它会从磁盘中读取FsImage及EditLog,应用EditLog中所有的事务到存在于内存中的FsImage文件对象,然后将版本较新的这个FsImage文件写入磁盘,之后EditLog就可以被删除了。一个checkpoint只发生在NameNode启动的时候。Blockreport:当一个DataNode启动时,它会扫描本地文件系统,生成所有HDFS数据块的一个列表,然后向NameNode发送一个报告。39HDFS的基本结构之DataNodeDatanode一般是一个节点一个,负责所在物理节点
14、的存储管理,是文件系统中真正存储数据的地方一个文件被分成一个或多个数据块,这些块存储在一组Datanode上Datanode负责处理文件系统客户端的读写请求。在Namenode的指挥下进行block的创建、删除和复制周期性的向Namenode汇报其存储的数据块信息40数据组织数据块(block):大文件会被分割成多个block进行存储,block大小默认为128MB。比磁盘块大很多,目的是减少寻址开销。并不是设置块越大越好。每一个block会在多个datanode上存储多份副本,默认是3份。与其他文件系统不一样,HDFS中每个小于块大小的文件不会占据整个块的空间。HDFS128MB128MB1
15、28MB128MB41数据复制大文件在集群中跨机器存储每个文件存储成一系列的数据块,除了最后一个,所有的数据块都是同样大小的为了容错,文件的所有数据块都会有副本。每个文件的数据块大小和副本系数都是可配置的Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告42副本策略HDFS采用机架感知(rackawareness)的副本存放策略来提高数据的可靠性、可用性和网络带宽的利用率。将第一个副本放在本地节点,将第二个副本放到本地机架上的另外一个节点,而将第三个副本放到不同机架上的节点。文件的副本不是均匀地分布在机架当中,这种方式提高了写的性能,并且不影
16、响数据的可靠性和读性能(选择读取最近的副本)Node大数据集群Rack1Rack243DataNodeDataNodeHDFS稳健性故障的类型:NameNode故障,DataNode故障和网络中断数据磁盘故障,心跳及重新复制pDataNode因为故障而不可用p拷贝过程失败pDataNode上的磁盘坏掉p副本数量会被增加NameNode启动block重新复制:NameNodeDataNodeDeadDataNodeDataNodeHeartBeats44HDFS稳健性数据完整性HDFS客户端应用实现了对文件内容的校验和。HDFS写入的时候计算出校验和,然后每次读的时候再计算校验和。元数据磁盘故障
17、NameNode在HDFS集群中属于单点故障。没有namenode,文件系统会崩溃,文件系统上的所有文件将丢失(无法读出,因为无法定位元数据块的位置)HA高可用架构:NameNode热备45HA架构解决的问题NameNode单点故障HDFS只有一个NameNode节点,当NameNode崩溃后,整个HDFS集群随之崩溃,直到Namenode重启或者其他Namenode接入HDFSHA:为了解决NameNode的单点故障,为NameNode保存一个热备,两个独立的机器作为NameNode:ActiveNamenode、StandbyNamenode。任何时刻,只有一个Namenode处于Acti
18、ve状态,另一个处于standby状态(passive,备份);ActiveNamenode用于接收Client端请求,Standy节点作为slave保持集群的状态数据以备快速failover.46HA架构图写入读出DataNodeDataNodeDataNode.NameNodeactiveNameNodestandbyQJM/NFSZookeeperFCZookeeperFC监控NN状态管理HA状态监控NN状态管理HA状态ZookeeperHeartbeatHeartbeat47HA架构-快速failoverDatanodes上需要同时配置这两个Namenode的地址,同时和它们都建立心跳
19、链接,并把block位置发送给它们,这样Standbynode持有集群中blocks的最新位置当ActiveNN失效时,StandbyNN切换成ActiveNNNameNodeactiveDataNodeDataNodeDataNodeDataNodeNameNodestandbyHeartBeats共享数据48两种HA方案对比QJMvsNFS共同点都是热备方案都是一个activeNamenode(NN)和一个standbyNN使用Zookeeper(ZK)quorum和ZKFC来实现自动失效恢复。在失效恢复时都需要配置fencing方法来fenceactiveNN二者共享数据方式不同参与HA
20、的不同角色HDFSwithNFSHDFSwithQJMNamenodeNamenodeHANFS(共享数据变更存储)JournalNodeZookeeperZookeeperZKFailoverControllerprocessZKFailoverControllerprocess49HA方案-NFS实现机制activeNN和standbyNN需要共享一个存储目录。activeNN会把数据变更日志保存在该目录内,standbyNN则监视更新,并保持数据同步。为了快速切换NN,DataNode(DN)需要知道两个NN的地址,并把块信息和心跳包发送给active和standby这两个NN。此外,为
21、了保证activeNN挂了以后不再有新数据写入,Fencing逻辑在确认activeNN挂了以后会切断所有与原activeNN的连接。HAwithNFS局限性目前只支持一个数据变更共享目录,导致HA能力受限于该目录为了防止共享目录的单点失效,对共享目录有额外的要求,比如冗余的硬盘、网络和电源等。NFS共享目录所在的设备要求是高可靠性。NFS方式部署更为复杂。50HA方案-QJMStandbyNode与ActiveNode保持同步这两个Node都与一组称为JNS的互相独立的进程保持通信(JournalNodes)。当ActiveNode上更新了namespace,它将记录修改日志发送给JNS的多
22、数派。Standbynoes将会从JNS中读取这些edits,并持续关注它们对日志的变更。StandbyNode将日志变更应用在自己的namespace中,即在failover发生之前,Standy持有namespace应该与Active保持完全同步。JournalNodeJournalNodeJournalNodeJournalNodeNameNodeactiveNameNodestandby向JournalNodes写数据从JournalNodes读数据51HA方案-QJM硬件资源Namenode机器:两台配置对等的机器,它们分别运行Active和StandbyNodeJouralNode
23、机器:运行JouralNodes的机器。JouralNode守护进程相当的轻量级,它们可以和hadoop的其他进程部署在一起,比如Namenodes、jobTracker、ResourceManager等。不过为了形成多数派(majority),至少需要3个JouralNodes,因为edits操作必须在多数派上写入成功。当然JNS的个数可以3,且通常为奇数(3,5,7),这样可以更好的容错和形成多数派。如果你运行了N个JNS,那么它可以允许(N-1)/2个JNS进程失效并且不影响工作。52HDFS可访问性HDFS支持以文件和目录的形式组织用户数据。它提供了一个命令行接口(FSShell)让用
24、户与HDFS中的数据进行交互通过原生的FileSystemJavaAPI接口来访问浏览器的方式访问HDFS中的实例文件http:/nn_host:port/默认的http端口是5007053读文件ClientJVMDataNodeDataNodeDataNodeNameNodeHDFSClientDistributedFileSystemFSDataInputStream1:open2:获取文件数据块所在的DataNode节点位置3:read7:complete6:close4:read5:read54写文件ClientJVMDataNodeDataNodeDataNodeNameNodeHD
25、FSClientDistributedFileSystemFSDataInputStream1:creat3:write7:complete6:close5:ackpacket2:creat4:writepacket454555回收存储空间文件的删除与恢复HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,它会先被重命名到目录/trash下的一个文件.只要被删除的文件还在/trash目录中,用户就可以还原它。目前默认策略是删除/trash中保留时间超过6小时的文件该功能只限于用户在客户端的脚本操作,当用户写程序调用HDFS的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 平台 简介
限制150内