大数据平台简介课件.pptx
《大数据平台简介课件.pptx》由会员分享,可在线阅读,更多相关《大数据平台简介课件.pptx(179页珍藏版)》请在三一办公上搜索。
1、大数据平台简介,目录,Hadoop生态系统Hadoop主流厂商HDFSMapReduceHiveSpark,Hadoop生态系统,Hadoop 1.0 V 2.0,Hadoop生态系统,HDFSHadoop Distributed File System,Yarn资源管理器,MapReduce分布式并行计算框架,“你数一号书架,我数二号书架。我们人数多,数书就更快。这就是map;最后我们到一起,把所有人的统计数加在一起,就是reduce。”,Spark新一代大数据处理计算引擎,You can run Spark using its standalone cluster mode,on EC2,
2、on Hadoop YARN,or on Apache Mesos.Access data in HDFS,Cassandra,HBase,Hive,Tachyon,and any Hadoop data source.,HBaseNoSQL数据库,Hivehadoop的数据仓库,Pig大规模数据分析平台,Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。,Apache pig是用来处理大规模数
3、据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C+等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。,A=LOAD a.txt AS(col1:chararray,col2:int,col3: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;,Mahout机器学习算法库,Mahout 是 Apache Software F
4、oundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。,Zookeeper分布式协调服务,SqoopHadoop与关系数据库间的数据同步工具,Flume分布式日志采集工具,AmariHadoop集群安装部署监控工具,Hadoop主流厂商,大数据领域的三驾马车,Cloudera,Hortonworks,MapR,Cloudera Distribution Hado
5、op(CDH),Hortonworks Data Platform(HDP),MapR Converged Data Platform,Hadoop主流厂商比较,开源,开源,管理,开源,管理,架构创新,完全开源收取服务费,工具不开源收取License费用,重构了底层内核收取License费用,云服务集团,软件集团,浪潮大数据平台产品,HDP,云海Insight HD,Indata HD,HDFS,相关背景资料,Hadoop:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。,Distributed:分布式
6、计算是利用互联网上的计算机的 CPU 的共同处理能力来解决大型计算问题的一种计算科学。,File system:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。,Hadoop和HDFS的关系,Hadoop 是一个以一种可靠、高效、可伸缩的方式进行处理的,能够对大量数据进行分布式处理的系统框架。HDFS是Hadoop兼容最好的标准级文件系统,因为Hadoop是一个综合性的文件系统抽象,所以HDFS不是Hadoop必需的。所以可以理解为hadoop是一个框架,HDFS是hadoop中的一个部件。,HDFS背景介绍
7、,随着数据量越来越大,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。分布式文件系统:一种允许文件通过网络在多台主机上分享的文件系统,可以让多个机器上的多个用户分享文件和存储空间。,集群,通透性:DFS让实际上是通过网络来访问文件的动作,由用户和程序看来,就像访问本地的磁盘一般。,分布式文件系统特点,目录 1,目录 2,File,HDFS是什么,HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。HDFS被设计成适合
8、运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用HDFS可以实现流的形式访问(streaming access)文件系统中的数据对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。对于用户来说,可以直接看成是一个巨大的硬盘。,HDFS特点,HDFS的局限性,HDFS现在遇到的主要问题,分布后的文件系统有个无法回避的问题,因为文件不在一个磁盘导致读取访问操作的延时,这个是HDFS现在遇到的主要问题,现阶段,HDF
9、S的配置是按照高数据吞吐量优化的,可能会以高时间延时为代价。但万幸的是,HDFS是具有很高弹性,可以针对具体应用再优化。,总体架构图,HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanode组成,他们以管理者-工作者模式工作。,总体架构图-Client,切分文件;访问或通过命令行管理HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。,HDFS的基本结构之NameNode,Namenode是一个中心服务器,负责管理文件系统的命名空间协调客户端对文件的访问Namenode执行文件系统的命名空间操作,例如
10、打开、关闭、重命名文件和目录记录每个文件数据块在各个Datanode上的位置和副本信息,HDFS元数据持久化,NameNode存有HDFS的元数据:主要由FSImage和EditLog组成。FSImage是元数据镜像文件保存整个文件系统的目录树数据块映射关系:文件与数据块映射关系,DataNode与数据块映射关系EditLog是元数据操作日志,记录每次保存fsimage之后到下次保存之间的所有hdfs操作,命名空间操作记录,如打开、关闭、创建、删除、重命名文件和目录,HDFS元数据持久化,checkpoint:NameNode启动后,它会从磁盘中读取FsImage及EditLog,应用Edit
11、Log中所有的事务到存在于内存中的FsImage文件对象,然后将版本较新的这个FsImage文件写入磁盘,之后EditLog就可以被删除了。一个checkpoint只发生在NameNode启动的时候。Blockreport:当一个DataNode启动时,它会扫描本地文件系统,生成所有HDFS数据块的一个列表,然后向NameNode发送一个报告。,HDFS的基本结构之DataNode,Datanode一般是一个节点一个,负责所在物理节点的存储管理,是文件系统中真正存储数据的地方一个文件被分成一个或多个数据块,这些块存储在一组Datanode上Datanode负责处理文件系统客户端的读写请求。在N
12、amenode的指挥下进行block的创建、删除和复制周期性的向Namenode汇报其存储的数据块信息,数据组织,数据块(block):大文件会被分割成多个block进行存储,block大小默认为128MB。比磁盘块大很多,目的是减少寻址开销。并不是设置块越大越好。每一个block会在多个datanode上存储多份副本,默认是3份。与其他文件系统不一样,HDFS中每个小于块大小的文件不会占据整个块的空间。,数据复制,大文件在集群中跨机器存储每个文件存储成一系列的数据块,除了最后一个,所有的数据块都是同样大小的为了容错,文件的所有数据块都会有副本。每个文件的数据块大小和副本系数都是可配置的,Na
13、menode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告,副本策略,HDFS采用机架感知(rack awareness)的副本存放策略来提高数据的可靠性、可用性和网络带宽的利用率。将第一个副本放在本地节点,将第二个副本放到本地机架上的另外一个节点,而将第三个副本放到不同机架上的节点。文件的副本不是均匀地分布在机架当中,这种方式提高了写的性能,并且不影响数据的可靠性和读性能(选择读取最近的副本),DataNode,DataNode,HDFS稳健性,故障的类型:NameNode故障,DataNode故障和网络中断数据磁盘故障,心跳及重新复制,NameNod
14、e,Dead,HeartBeats,HDFS稳健性,数据完整性HDFS客户端应用实现了对文件内容的校验和。HDFS写入的时候计算出校验和,然后每次读的时候再计算校验和。元数据磁盘故障NameNode在HDFS集群中属于单点故障。没有namenode,文件系统会崩溃,文件系统上的所有文件将丢失(无法读出,因为无法定位元数据块的位置)HA高可用架构:NameNode热备,HA架构解决的问题,NameNode单点故障HDFS只有一个NameNode节点,当NameNode崩溃后,整个HDFS集群随之崩溃,直到Namenode重启或者其他Namenode接入HDFS HA:为了解决NameNode的单
15、点故障,为NameNode保存一个热备,两个独立的机器作为NameNode:Active Namenode、Standby Namenode。任何时刻,只有一个Namenode处于Active状态,另一个处于standby状态(passive,备份);Active Namenode用于接收Client端请求,Standy节点作为slave保持集群的状态数据以备快速failover.,HA架构图,HA架构-快速failover,Datanodes上需要同时配置这两个Namenode的地址,同时和它们都建立心跳链接,并把block位置发送给它们,这样Standby node持有集群中blocks的
16、最新位置当Active NN失效时,StandbyNN切换成Active NN,两种HA方案对比,QJM vs NFS 共同点都是热备方案都是一个active Namenode(NN)和一个standby NN使用Zookeeper(ZK)quorum和ZKFC来实现自动失效恢复。在失效恢复时都需要配置fencing方法来fence active NN二者共享数据方式不同参与HA的不同角色,HA方案-NFS,实现机制active NN 和 standby NN需要共享一个存储目录。active NN会把数据变更日志保存在该目录内,standby NN则监视更新,并保持数据同步。为了快速切换NN
17、,DataNode(DN)需要知道两个NN的地址,并把块信息和心跳包发送给active和standby这两个NN。此外,为了保证active NN挂了以后不再有新数据写入,Fencing逻辑在确认active NN挂了以后会切断所有与原active NN的连接。HA with NFS 局限性目前只支持一个数据变更共享目录,导致HA能力受限于该目录为了防止共享目录的单点失效,对共享目录有额外的要求,比如冗余的硬盘、网络和电源等。NFS共享目录所在的设备要求是高可靠性。NFS方式部署更为复杂。,HA方案-QJM,Standby Node与Active Node保持同步这两个Node都与一组称为JN
18、S的互相独立的进程保持通信(Journal Nodes)。当Active Node上更新了namespace,它将记录修改日志发送给JNS的多数派。Standby noes将会从JNS中读取这些edits,并持续关注它们对日志的变更。Standby Node将日志变更应用在自己的namespace中,即在failover发生之前,Standy持有namespace应该与Active保持完全同步。,HA方案-QJM,硬件资源 Namenode机器:两台配置对等的机器,它们分别运行Active和Standby NodeJouralNode机器:运行JouralNodes的机器。JouralNode
19、守护进程相当的轻量级,它们可以和hadoop的其他进程部署在一起,比如Namenodes、jobTracker、ResourceManager等。不过为了形成多数派(majority),至少需要3个JouralNodes,因为edits操作必须在多数派上写入成功。当然JNS的个数可以 3,且通常为奇数(3,5,7),这样可以更好的容错和形成多数派。如果你运行了N个JNS,那么它可以允许(N-1)/2个JNS进程失效并且不影响工作。,HDFS可访问性,HDFS支持以文件和目录的形式组织用户数据。它提供了一个命令行接口(FS Shell)让用户与HDFS中的数据进行交互通过原生的FileSyste
20、m Java API接口来访问浏览器的方式访问HDFS中的实例文件http:/nn_host:port/默认的http端口是50070,读文件,写文件,Client JVM,DataNode,DataNode,DataNode,NameNode,HDFSClient,DistributedFileSystem,FSDataInputStream,1:creat,3:write,7:complete,6:close,5:ack packet,2:creat,4:write packet,回收存储空间,文件的删除与恢复HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每
21、一个被用户通过Shell删除的文件/目录,它会先被重命名到目录/trash下的一个文件.只要被删除的文件还在/trash目录中,用户就可以还原它。目前默认策略是删除/trash中保留时间超过6小时的文件该功能只限于用户在客户端的脚本操作,当用户写程序调用HDFS的API时,NameNode并不会把删除的文件或目录放入回收站Trash中减少副本系数当副本系数被降低时,NameNode会选择删除多余的副本,HDFS常用shell,HDFS支持以文件和目录的形式组织用户数据。它在客户端提供了一个命令行接口(FS Shell)让用户与HDFS中的数据进行交互调用文件系统(FS)Shell命令应使用bi
22、n/hadoop fs 的形式。所有的的FS shell命令使用URI路径作为参数。URI格式是scheme:/authority/path。对HDFS文件系统,scheme是hdfs。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs:/namenode:namenodeport/parent/child,或者更简单的/parent/child,ls使用方法:hadoop fs-ls 查看目录下文件lsr使用方法:hadoop fs-lsr 递归查看文件mkdir使用方
23、法:hadoop fs-mkdir-p 创建目录,-p参数是创建各级父目录touchz使用方法:hadoop fs-touchz URI URI 创建一个0字节的空文件。,HDFS常用shell,HDFS常用shell,put使用方法:hadoop fs-put.上传一个或多个本地文件到文件系统。如果HDFS中已经存在该文件,那么直接上传会报错。如果第二个路径是个文件夹,那么会上传到文件夹中,如果文件不存在,那么会生成一个文件而非新建一个文件夹。copyFromLocal使用方法:hadoop fs-copyFromLocal URI上传一个或多个本地文件到文件系统。命令类似-putget使用
24、方法:hadoop fs-get 下载文件到本地文件系统。copyToLocal使用方法:hadoop fs-copyToLocal URI 下载文件到本地文件系统。命令类似-get,HDFS常用shell,appendToFile使用方法:hadoop fs-appendToFile.将本地文件追加到hdfs文件末尾mv使用方法:hadoop fs-mv URI URI 将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。text使用方法:hadoop fs-text 将源文件输出为文本格式cat使用方法:hadoop fs-
25、cat URI URI 将路径指定文件的内容输出到stdout,HDFS常用shell,rm使用方法:hadoop fs-rm URI URI 删除文件rmdir使用方法:hadoop fs-rmdir URI URI.删除空白文件夹rmr(不建议使用)使用方法:hadoop fs-rmr URI URI.递归删除。建议使用rm r替代该命令cp使用方法:hadoop fs-cp URI URI.将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。,HDFS常用shell,chmod使用方法:hadoop fs-chmod-R URI URI 改变文件的权限。使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 平台 简介 课件
链接地址:https://www.31ppt.com/p-3020686.html