教学课件:《Hadoop云计算实战》.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件:《Hadoop云计算实战》.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop云计算实战 教学 课件 Hadoop 计算 实战
- 资源描述:
-
1、第1章云计算概论云计算概论1.1 云计算概述 云计算被称为继个人计算机、互联网之后的第三次信息化革命。云计算将成为推动电信业乃至广义ICT产业下一轮突破发展的重要驱动力。什么是云计算?云计算是一个提供便捷的通过互联网访问一个可定制的IT资源(包括网络、服务器、存储、应用、服务)共享池能力的按使用量付费模式,这些资源能够快速部署,并只需要很少的管理工作或很少的与服务供应商的交互。云计算将网络上分布的计算、存储、服务构件、网络软件等资源集中起来,基于资源虚拟化的方式,为用户提供方便快捷的服务,其可以实现计算与存储的分布式与并行处理。如果把“云”视为一个虚拟化的存储与计算资源池,那么云计算则是这个资
2、源池基于网络平台为用户提供的数据存储和网络计算服务。互联网是最大的一片“云”,其上的各种计算机资源共同组成了若干个庞大的数据中心及计算中心。云计算产生的背景?(1)需求是云计算的动力。(2)技术是云计算发展的基础。(3)商业模式是云计算的内在要求,是用户需求的外在体现,并且云计算技术为这种特定商业模式提供了实现可能性。云时代谁是主角?1Google 2IBM 3微软 云+端、软件+服务是对微软云计算的最佳诠释。云计算的特征?计算能力也可以作为一种商品进行流通,就像天然气、水及电一样,使用方便,费用低廉。但最大的不同在于,它是通过互联网进行传递的。云计算是并行计算(Parallel Comput
3、ing)、分布式计算(Distributed Computing)及网格计算(Grid Computing)的发展,或者说是这些计算科学概念的商业实现。(1)超大规模。(2)虚拟化。(3)提高设备计算能力。(4)高可靠性。(5)减少设备依赖性。(6)通用性。(7)高可扩展性。(8)弹性服务。(9)按需服务。(10)极其廉价。云计算的发展?云计算的服务层次?云计算的服务形式?分为IaaS、PaaS和IaaS 3种类型。将基础设施作为服务SaaS 将平台作为服务PaaS 将软件作为服务 IaaS云计算的实现机制?目前还没有一个统一的技术体系结构 综合不同厂家的方案,构造了一个较统一的云计算体系结构
4、,如图1-8所示。其概括了不同解决方案的主要特征,每一种方案或许只实现了其中某部分功能,或者也还有部分相对次要功能尚未进行概括。云计算技术体系结构图 简化的IaaS实现机制云计算的研究方向?1商业模式 2业务产品与技术应用 3运营管理 4核心技术 5标准化/互通性/开放性 6体系架构 7法律法规 云计算的产业链特点云计算发展趋势?市场发展趋势 中小企业是推动中国云计算发展的主要因素之一。私有云计算将成为下一代数据中心(NGDC)建设的主要目标。相关政府政策 技术条件 硬件、软件、网络和虚拟化等。1.2 云计算关键技术研究云计算关键技术研究 虚拟化技术 数据存储技术 资源管理技术 能耗管理技术
5、云监测技术1、虚拟化技术虚拟化技术 目前普遍使用3种虚拟机技术:VMware Infrastructure、Xen、KVM。(1)Vmware 是虚拟化技术的龙头,VMware Infrastructure能创建自我优化的IT基础架构。通过服务整合,降低IT成本并提高灵活性。减少计划内和计划外停机以改进业务连续性。运行较少的服务器并动态关闭不使用的服务器。(2)Xen 是由XenSource管理的一个开源GPL项目。Xen是openSUSE和Novell主要支持的虚拟化技术,其能够创建更多的虚拟机,每一个虚拟机都是运行在同一个操作系统上的实例。(3)KVM 是基于Linux内核的虚拟机,是一种
6、新的虚拟机实现方案,也称为内核虚拟机。2、数据存储技术云计算环境有以下3个优势:在工作量可并行计算的前提下,计算能力是弹性的。数据存储在不信任的主机上。数据通常是进行远程复制。因此,只有两种数据管理应用程序可能适合部署到云计算中:和事务处理相关的数据管理系统;和分析相关的数据管理系统。一致性树的建立过程?建立加权图G(V,E),将每一服务器副本作为一个节点,并由这些副本组成加权图的顶点集V,服务器副本间的直接联系作为边,并组成加权图的边集E,网络路径的可靠性作为边的权重。选择根节点,由控制器选择可靠性最高的服务器副本作为将建立的一致性树的根节点,并由该副本负责与用户的联系。在指定的根节点后,将
7、树的根节点作为单一源点,利用单源点最短路径Dijkstra算法,找出根节点到各副本节点的最可靠的路径,并建立一致性树。为了保证数据的一致性且不造成性能下降,在云数据库系统中设立了两种节点,一种是控制器,另外一种是数据服务器副本。系统中可能有两个或两个以上的控制器,其任务是建立一致性树。当用户访问数据服务器时,由控制器决定所要选择的数据库;当有故障发生时,由控制器重建树。数据服务器副本用于存储数据,完成各项事务处理及其他一些数据库操作。所有的副本之间是有联系的,其中委派一个主副本建立与用户的联系,并负责与其他副本保持通信,以保证数据的及时更新。3、资源管理技术 云系统依据用户的资源获取请求,动态
8、分配计算资源。4、能耗管理技术降低能耗的措施:减少数字垃圾 进行策略性的界面设计 提高使用意识 避开使用高峰期5、云监测技术(1)大规模监测系统Chukwa(2)虚拟机内部监测法 基于主机代理 陷阱与检查 检测点与回滚 体系结构监控内部监测法内部监测法能能 力力影影 响响 度度健健 壮壮 性性主机代理主机代理较好较差好好陷阱与检查陷阱与检查好较好差差检测点与回滚检测点与回滚好较好差差体系结构监控体系结构监控较差较差较好较好好好1.3 云计算应用研究云计算应用研究 1 语义分析应用 2 IT企业应用 3 生物学应用 4 电信企业应用 5 数据库的应用 6 地理信息应用 7 医学应用1.4 云安全
9、云安全 云安全包含两方面的含义:一是云计算应用自身的安全,如云计算应用系统及服务安全、云计算用户信息安全等;一是云计算在安全领域的具体应用,如基于云计算的防病毒技术、挂马检测技术等。云安全研究的方向?(1)云计算安全 云安全主要研究如何保障云计算应用的安全。(2)网络安全设备、安全基础设施的“云化”“云化”是指通过采用云计算的虚拟化和分布式处理技术实现安全系统资源的虚拟化和池化。其研究主体是传统安全设备厂商。(3)云安全服务 按服务模式可分为两类:SaaS业务、PaaS业务。云安全难点问题?(1)需要海量的客户端(云安全探针)。(2)需要专业的反病毒技术和经验。(3)需要大量的资金和技术投入。
10、(4)开放的系统,且需要大量合作伙伴的加入。云安全新增及增强功能 新增功能:木马下载拦截 木马判断拦截 自动在线诊断 增强功能:漏洞扫描 强力修复 进程管理 高级工具集 七大监控1.5 云计算云计算的的生命周期生命周期(1)服务模板定义。准备云计算环境,将各种合适的资源纳入到云计算资源池,准备标准的计算能力。(2)创建服务目录。将计算资源标准化,按照服务的方式进行提供。(3)服务订阅。云服务消费者申请云计算能力和服务,或者更改某个已有的服务申请。(4)服务运行。通过自动化的供应平台使消费者在指定的时间获取云计算资源;并需要确保云计算服务的质量,包括其计算性能和可靠性。(5)服务终止。当消费者不
11、再需要服务时,服务会被终止,资源就会被回收。资源可以重新放回资源池以重新利用。云服务生命周期1.6 云计算存在的问题云计算存在的问题 安全问题 技术问题 经济问题 网络问题 兼容性问题1.7 云计算的优缺点云计算的优缺点云计算的优点云计算的缺点第第2章章Hadoop相关项目介绍相关项目介绍2.1 Hadoop简介 Hadoop为一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。Hadoop的基本架构 Hadoop Common:整个Hadoop项目的核心。Avro:Hadoop RPC(远程过程调用)方案
12、。Chukwa:用来管理大型分布式系统的一个数据采集系统。HBase:用来支持结构化数据存储的分布式数据库,用Bigtable实现开源。HDFS:用于提供高吞吐量的分布式文件系统,用GFS实现开源。Hive:用于提供数据摘要和查询功能的数据仓库。MapReduce:为大型数据的分布式处理模型,用MapReduce实现开源。Pig:在MapReduce基础上构建的一种高级数据流语言,用Sawzall实现开源。Sawzall:建立在MapReduce基础上的领域语言,其程序控制结构与C语言类似,但代码简洁得多。ZooKeeper:用于解决分布式系统中一致性问题,用Chubby实现开源。Hadoop
13、 Common为Hadoop的内核,包括一系列支持其他Hadoop子项目的公共工具,如文件系统、RPC远程过程调用、虚拟化库等。HDFS为Hadoop提供的一个可扩展、结构化、具备日志的分布式文件系统,其支持大型、分布式大数据量的读写操作,其容错性较强。HBase为Hadoop提供的分布式数据库,其为一个有序、稀疏、多维度的映射表,具有良好的伸缩性和高可用性。ZooKeeper为Hadoop提供的针对大型分布式系统的可靠协调系统,提供配置维护、名字服务、分布式同步、组服务等功能。MapReduce为Hadoop采用的分布式计算模型,能在集群上分布式处理大规模数据集。MapReduce框架和HD
14、FS通常运行在一组相同的节点上,以在数据节点上高效地调度计算任务,从而使集群的网络带宽被高效地利用。2、Hadoop文件系统结构3 Hadoop文件读操作4、Hadoop文件写操作2.2 Hadoop系统性质 1、可靠存储性可靠存储性 冗余存储 错误恢复 集群的平衡 数据完整性检查 元数据磁盘失效 2、数据均衡数据均衡2.3 比较SQL数据库与Hadoop 1用向外扩展替代向上扩展 2用键/值替代关系表 3MapReduce替代SQL 4用离线批量处理替代在线处理2.4 MapReduce概述概述 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。1 MapReduc
15、e实现机制实现机制2 MapReduce执行流程执行流程 一个MapReduce作业实际上由一系列Map任务和Reduce任务构成3、MapReduce映射和化简4、MapReduce输入格式5、MapReduce输出格式6、MapReduce运行速度2.5 HBase概述概述1、HBase的系统框架 Client 使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC。ZooKeeper 存储-ROOT-表的地址和HMaster的地址,把自己
16、以Ephemeral方式注册到ZooKeeper中。HMaster 主要负责Table和Region的管理工作。HRegion 当表的大小超过设置值时,HBase会自动地将表划分为不同的区域。从物理上来说,一张表被拆分成了多块,每一块就是一个Hregion,用表名+开始/结束主键来区分。HRegionServer 响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。2、HBase访问接口 Native Java API:最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据。HBase Shell:HBase的命令行工具,最简单
17、的接口,适合HBase管理使用。Thrift Gateway:利用Thrift序列化技术,支持C+、PHP、Python等多种语言,适合其他异构系统在线访问HBase表数据。REST Gateway:支持REST风格的HTTP API访问HBase,解除了语言限制。Pig:可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计。Hive:当前Hive的Release版本尚未加入对HBase的支持,但在Hive 0.7.0以上版本中将会支持HBase,可以使用类似SQL语言来访问HBase
18、。3、HBase的存储格式 1HFile格式格式 HFile文件是不定长的,长度固定的只有其中的两块,分别为Trailer和FileInfo。Trailer的指针指向其他数据块的起始点;FileInfo中记录了文件的一些Meta信息,如AVG_KEY_LEN、AVG_VALUE_LEN、LAST_KEY、COMPARATOR等。Data Index和Meta Index块记录了每个Data块和Meta块的起始点。2HLog格式格式 HLog文件就是一个普通的Hadoop Sequence File,Key是HLogKey对象,记录了写入数据的归属信息。4、HBase的读写流程 HBase的读数
19、据流程为:客户端连接ZooKeeper,获取-ROOT-节点的位置信息。客户端咨询-ROOT-节点,定位包含请求行的.META.Region范围。客户端查找.META.Region,获取包含用户数据的Region及其所在位置。客户端与Region Server直接交互,读取数据。Hbase的写数据流程为:客户端将写操作添加到Log文件中,接着把数据写入Memcache中。当Memcache填满时,内容被持久存储到HDFS文件系统的Store中。Region Server周期性地发起Flush Cache命令,将Memcache中的数据持久存储到Store,同时清空Memcache。2.6 Zo
20、oKeeper概述概述 ZooKeeper是一个针对大型分布式系统的可靠协调系统,提供包括配置维护、名字服务、分布式同步、组服务等在内的功能。ZooKeeper的目标是封装好复杂、容易出错的关键服务,将简单易用的接口和性能高效、功能稳定的协同工作系统提供给用户。3、ZooKeeper数据模型 ZooKeeper是一个小型的分布式文件系统,其维护一个层次化的树结构,树节点被称为znode,用于存储数据,每个节点都有一个访问控制列表ACL。4、ZooKeeper工作原理 ZooKeeper的系统模型图 ZooKeeper服务系统5、ZooKeeper实现机制 ZooKeeper可运行在两种模式:单
21、机模式、复制模式。ZooKeeper的实现原理:确保对znode树的每次修改都被复制到集群的大部分机器上,这样就可以在部分机器出现故障时能快速恢复ZooKeeper服务。通过运行以下两阶段协议来实现该能力。选举Leader。选举一个杰出的组员,称之为Leader,其他的机器称之为Follower。原子性广播。所有写请求都先被转发到Leader上,Leader将更新操作广播到Follower。当大多数成员持久化存储这个更新后,Leader提交更新,并回复客户端写操作成功。如果Leader失效,剩下的机器将进行新的Leader选举过程,选取一个新的Leader。如果以前的Leader恢复,其将变成
22、一个Follower。6、ZooKeeper的特性(1)会话 当客户端成功连接到ZooKeeper服务器时,与服务器建立了一个会话(Session)。(2)版本号 版本号(Version)是一种乐观加锁的机制,使客户端能够检测出对节点的修改冲突。(3)监控 当节点的状态发生变化时,监控(Watcher)机制可以让客户端得到通知。ZooKeeper提供以下几种属性。(1)层次化目录结构命名符合常规文件系统规范,不能包含/。节点znode可以包含数据与子节点。客户端应用可在节点上设置监视器。节点数据不支持部分读写,而是一次性完整读写。(2)Ephemeral创建的节点不是持久节点,一旦与客户端的会
23、话结束,节点自动删除。(3)Sequence创建节点时,编号自动加1,例如x-1、x-2、s-3、x-4等。(4)WatchWatch(监控器)允许客户端在znode发生变化时获得通知。在ZooKeeper中,Watch由一个操作设置,由另一个操作触发,并且每个Watch只触发一次。2.7 Hive概述概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。2.7.1 Hive的组成 Hive包括如下相关组件:用户接口:包括Shell、Thrift客户端、Web接口等。Thr
24、ift服务器:当Hive以服务器模式运行时,可以作为Thrift服务器,供客户端连接。元数据库:通常存储在关系数据库如MySQL、Derby中。解析器:包括解释器、编译器、优化器、执行器,通过一系列的处理对HiveQL查询语句进行词法分析、语法分析、编译、优化及查询计划的生成。查询计划由MapReduce调用执行。Hadoop:数据仓库和查询计划存储在HDFS上,计算过程由MapReduce执行。2、Hive结构解析 注册表由多个Hive文件组成,而一个Hive文件由多个巢箱(BIN)组成,Hive文件的首部有一个文件头(基本块,Base Block),用于描述这个Hive文件的一些全局信息。
25、一个BIN由多个巢室(CELL)组成,CELL可以分为具体的5种,用于存储不同的注册表数据。一个巢室可以容纳一个键、一个值、一个安全描述符、一列子键或者一列键/值,分别有对应的巢室来存储数据。键键巢巢室室 包含了一个注册表键(也称为键节点)的巢室,一个键巢室包含一个特征签名(对于一个键是kn,一个符号链接是kl)、该键最近一次更新的时间戳、该键父键巢室的巢室索引、代表该键的子键的子键列表巢室的索引、该键的安全描述符巢室索引、一个代表该键类名的字符串键巢室索引,以及该键的名称。值值巢室巢室 一个巢室,包含了关于一个键的值的信息,该巢室包含一个签名kv、该值的类型(如REG_DWORD或REG_B
展开阅读全文