Hadoop及子项目介绍课件

上传人:M****1 文档编号:573269673 上传时间:2024-08-14 格式:PPT 页数:34 大小:1,001.50KB
返回 下载 相关 举报
Hadoop及子项目介绍课件_第1页
第1页 / 共34页
Hadoop及子项目介绍课件_第2页
第2页 / 共34页
Hadoop及子项目介绍课件_第3页
第3页 / 共34页
Hadoop及子项目介绍课件_第4页
第4页 / 共34页
Hadoop及子项目介绍课件_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《Hadoop及子项目介绍课件》由会员分享,可在线阅读,更多相关《Hadoop及子项目介绍课件(34页珍藏版)》请在金锄头文库上搜索。

1、Hadoop培训Hadoop与子项目介绍2013.011 产生背景纽约证券交易所每天产生1TB的交易数据。社交网站facebook的主机存储着约10亿张照片,占据PB级存储空间。瑞士日内瓦附近的大型强子对撞机每年产生约15PB的数据。2004年Google公布了关于GFS、MapReduce和BigTable三篇技术论文。2006年2月-Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。2 Hadoop简介Hadoop 一个分布式系统基础架构,由Apache基金会开发。由Common、HDFS、MapReduce、HBase、Hive 、 Pig、 Avro、

2、Chukwa和 ZooKeeper等成员组成。其中,HDFS 和MapReduce 是两个最基础最重要的成员。Hadoop 数据来源可为任何形式,最终转换为键/值对以供处理。3 Hadoop简介Hadoop专为离线处理和大规模数据分析而设计的。Hadoop程序目前只能运行在Linux系统上, window上需要安装其他插件。Windows作为一个开发平台而非生产平台。Hadoop自身由Java语言开发,但它除了使用Java语言进行编程外,同样支持多种编程语言,如C+。4 Hadoop特点扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。成本低(Econo

3、mical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。5 Hadoop特点高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。6 Hadoop核心HDFSHDFS 是Google GFS 的开源版本,一个高度容错的分布式文件系统,它能够提供高吞吐量的数据访问,适合存储海量(PB 级)的大文件(通常超过64M)。以高时间延迟为代价,不适合低延迟

4、的访问需求。HDFS不适合:存储小文件 、大量的随机读、需要对文件的修改 。设计目标:任何一个节点失效,不影响HDFS服务、可以自动完成副本的复制。7 Hadoop核心HDFS原理图8 Hadoop核心HDFS采用Master/Slave 结构。NameNode 维护集群内的元数据,对外提供创建、打开、删除和重命名文件或目录的功能。DatanNode 存储数据,并提负责处理数据的读写请求。9 Hadoop核心HDFS文件切分成块(默认大小64M),以块为单位,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3)文件创建、写入和关闭之后不能修改文件内容。DataNode定期向N

5、ameNode 上报心跳,NameNode 通过响应心跳来控制DataNode。运行中可以安全加入和退出DataNode。10 Hadoop核心HDFS如何管理数据 1、文件块三份备份。 2、心跳机制。 3、数据校验。 4、安全模式。 5、数据管道性的写入。 6、数据复制。 7、单个NameNode。11 Hadoop核心HDFS之文件文件12 Hadoop核心HDFS之文件写文件13Write packetCreate file Write packetWrite packetSend ackSend ackSend ackClose file Hadoop核心HDFS之文件写数据块14 H

6、adoop核心HDFS之文件读文件15Read blockOpen fileClose fileGet block location Hadoop核心HDFS之异常DataNode的磁盘坏了DataNode所在机器坏了Client所在机器坏了(lease)NameNode坏了 持久化元数据:操作日志和Fsimage Secondary NameNode-元数据提供冷备16 Hadoop核心MapReduceMapReduce 是大规模数据(TB 级)计算的利器,Map 和Reduce 是它的主要思想。也采用了Master/Slave 结构。Master 叫做JobTracker,而Slave

7、叫做TaskTracker。用户提交的计算叫做Job,每一个Job 会被划分成若干个Tasks。JobTracker负责Job 和Tasks 的调度,而TaskTracker负责执行Tasks。17 MapReduce工作原理提交MapReduce 作业,即一个job。jobTracker协调作业的运行。taskTracker:作业划分后的任务 (一个job对应多个task ,一个task对应 一 个或者多个MapReduce线程)。18MapReduce程序1:run jobJobClient客户端JVMJobTrackerTaskTrackerChildMapTask或者ReduceTas

8、kJobtracker节点子JVMTasktracker 节点HDFS2:get new job ID3:copy Jobresources4:submit job5:initialize job6:retrieve Input splits7:returns task8:retrieve jobresources10:run9:launch Hadoop核心MapReduce特性 自动实现分布式并行计算 容错master与slave通过心跳保活 提供状态监控工具 模型抽象简洁,程序员易用(所需要做的是 实现map()和reduce()函数,剩下的框架完成。 Map 负责将数据打散,Reduc

9、e负责对数据进行聚集。)19 Hadoop核心MapReduce数据流20 MapReduce示例21 MapReduce示例22 MapReduce示例23 MapReduce示例24 Hadoop相关子项目25子项目子项目作用作用Common为Hadoop其他子项目提供支持的常用工具,它主要包括FileSystem、RPC和串行化库。ZooKeeper一个分布式的、高可用的协调服务。Zookeeper提供分布式锁之类的基本服务用于构建分布式应用。Avro一种提供高效、跨语言RPC的数据序列系统,持久化数据存储;提高分布式传输效率。Hbase一个分布式的,列存储数据库,使用HDFS作为底层存

10、储,同时支持MapReduce的批量式计算和点查询。Hive分布式数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据。Pig一种用于探索大型数据集的脚本语言,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。Chukwa开源的数据收集系统,用于监控和分析大型分布式系统的数据。 Hadoop子项目ZooKeeperZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、

11、功能稳定的系统提供给用户。ZooKeeper是使用Java编写的,但是它支持Java和C两种编程语言。26 Hadoop子项目Avro是用于数据序列化的系统。提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC的功能和简单的动态语言集成功能。Avro系统依赖于模式(Schema),数据的读和写是在模式之下完成的。在RPC中,Avro系统的客户端和服务端通过握手协议进行模式的交换。27 Hadoop子项目HbaseHBase是一个适合于非结构化数据存储的数据库。HBase是基于列而不是基于行的模式,表是疏松的,用户可以为行定义各种不同的列。HBase主要用

12、于需要随机访问、实时读写的大数据(Big Data)。一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。28 Hadoop子项目Hive是一个建立在Hadoop基础之上的数据仓库,提供了一些用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储的工具。Hive提供的是一种结构化数据的机制,它支持类似于SQL语言的查询语言,该查询语言称为Hive QL。Hive编译器会把Hive QL编译成一组MapReduce任务,从而方便MapReduce编程人员进行Hadoop系统开发。29 Hadoop子项目PigP

13、ig是一个对大型数据集进行分析、评估的平台。Pig最突出的优势是它的结构能够经受住高度并行化的检验,这个特性使得它能够处理大型的数据集。Pig的语言层由一种叫做Pig Latin的正文型语言组成。30 Hadoop子项目ChukwaChukwa是开源的数据收集系统,用于监控和分析大型分布式系统的数据。Chukwa是在HDFS和MapReduce框架之上搭建的,它继承了Hadoop的可扩展性和健壮性。Chukwa通过HDFS来存储数据,并依赖MapReduce任务处理数据。Chukwa中也附带了灵活且强大的工具,用于显示、监视和分析数据结果,以便更好地利用所收集的数据。31 Hadoop及子项目总结HDFS - 最大化利用磁盘MapReduce - 最大化利用 CPUHBase - 最大化利用内存MapReduce 和 HBase 都将数据存储在 HDFS, HBase 利用了 MapReduce 的计算能力。Pig 和 Hive 则为更高层的建筑,降低了使用 Hadoop 的门槛,提高了 Hadoop 开发效率。ZooKeeper和Common 成员可以说是地基,是为上层建筑(包括高层)服务的。32 智能交通应用技术架构图33谢谢34

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号