《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)

上传人:Co****e 文档编号:48810365 上传时间:2018-07-20 格式:PPT 页数:24 大小:1.68MB
返回 下载 相关 举报
《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)_第1页
第1页 / 共24页
《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)_第2页
第2页 / 共24页
《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)_第3页
第3页 / 共24页
《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)_第4页
第4页 / 共24页
《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)》由会员分享,可在线阅读,更多相关《《云计算(第二版)》教材配套课件12—第六章Hadoop:Google云计算的开源实现(1)(24页珍藏版)》请在金锄头文库上搜索。

1、电子工业出版社云计算(第二版)配套课件解放军理工大学 刘鹏 教授主编 华东交通大学 刘鹏 制作第6章 Hadoop:Google云计算的开源实现 云计算(第二版)购买网址: 当当网 京东商城姊妹力作实战Hadoop购买网址: 当当网 京东商城提 纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 Hadoop简介 HadoopApache开源组织的一个分布式计算框架,可以在大量 廉价的硬件设备组成的集群上运行应用程序,为应用程序提供了 一组稳定可靠的

2、接口,旨在构建一个具有高可靠性和良好扩展性 的分布式系统 Hadoop云计算系统Google云计算系统 Hadoop HDFSGoogle GFS Hadoop MapReduceGoogle MapReduce Hadoop HBaseGoogle Bigtable Hadoop ZooKeeperGoogle Chubby Hadoop PigGoogle SawzallHadoop云计算系统与Google云计算系统 Hadoop简介开源项目Lucene:Java开发的 开源高性能全文检索工具包 开源项目Nutch:第一个开源的 Web搜索引擎 HadoopHadoop Hadoop简介H

3、adoop项目组成(1)Hadoop Common (2)Avro (3)Chukwa (4)HBase (5)HDFS (6)Hive (7)MapReduce (8)Pig (9)ZooKeeper Hadoop优点(1)可扩展(2)经济(3)可靠(4)高效提 纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 设计前提与目标 设计前提与目标硬件错误是常态而不是异常 流式数据访问 超大规模数据集 简单一致性模型 移动计算比移动数据更简单 异构软硬

4、件平台间的可移植性 体系结构 HDFS主从结构体系NameNode:主控制服务器,负 责维护文件系统的命名空间( Namespace)并协调客户端对文 件的访问,记录命名空间内的任 何改动或命名空间本身的属性改 动 DataNode:负责它们所在的物 理节点上的存储管理 保障可靠性的措施 1冗余备份 每个文件存储成一系列数据块 (Block),默认块大小为 64MB(可配置)。为了容错, 文件的所有数据块都会有副本 (副本数量即复制因子,可配 置) 2副本存放 采用机架感知(Rack-aware) 的策略来改进数据的可靠性、 可用性和网络带宽的利用率 复制因子为3时数据块分布情况 保障可靠性的

5、措施 3.心跳检测 NameNode周期性地从集群中的每个DataNode接受心跳包和块报 告,收到心跳包说明该DataNode工作正常 4.安全模式 系统启动时,NameNode会进入一个安全模式。此时不会出现数 据块的写操作 5.数据完整性检测 HDFS客户端软件实现了对HDFS文件内容的校验和(Checksum) 检查 保障可靠性的措施 6.空间回收 文件被用户或应用程序删除时,先把它移动到/trash目录里; 只要还在这个目录里,文件就可以被迅速恢复 7.元数据磁盘失效 NameNode可以配置为支持维护映像文件和事务日志的多个副本 ,任何对映像文件或事务日志的修改,都将同步到它们的副

6、本 上 8.快照 快照支持存储某个时间的数据复制,当HDFS数据损坏时,可以 回滚到过去一个已知正确的时间点。HDFS目前还不支持快照功 能 提升性能的措施 提升性能 措施副本选择 HDFS会尽量使用离程序最近的副 本来满足用户请求,这样可以 减少总带宽消耗和读延时 负载均衡 HDFS的架构支持数据均衡 策略 客户端缓存 HDFS客户端先把数据缓存到本地 的一个临时文件,程序的写操作 透明地重定向到这个临时文件流水线复制 DataNode从前一个节点接收数 据的同时,即时把数据传给后 面的节点,这就是流水线复制访问接口 Hadoop API (1)org.apache.hadoop.conf

7、(2)org.apache.hadoop.dfs (3)org.apache.hadoop.fs (4)org.apache.hadoop.io (5)org.apache.hadoop.ipc (6)org.apache.hadoop.mapred (7)org.apache.hadoop.metrics (8)org.apache.hadoop.record (9)org.apache.hadoop.tools (10)org.apache.hadoop.util浏览器接口 典型HDFS安装会配置一个Web服务器开放自己的命名空间,其TCP 端口可配;默认配置下http:/namenode

8、-name:50070这个页面列 出了集群里的所有DataNode和集群的基本状态 提 纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 逻辑模型MapReduce处理的任务基本要求:待处理的数据集可以分解成许多 小的数据集,而且每一个小数据集都可以完全并行地进行处理 映射阶段,用户输入的数据分割为M个片断,对应M个Map任务。每一个Map操作 的输入是数据片断中的键值对集合,Map操作调用用户定义的Map函数 ,输出一个中间态的键值对 集合。接着

9、,按照中间态的K2将输出的数 据集进行排序,并生成一个新的元组,按照K2的范围将这些元 组分割为R个片断 化简阶段,每一个Reduce操作的输入是一个片断,Reduce操作 调用用户定义的Reduce函数,生成用户需要的键值对进行输出 实现机制 实现机制 1分布式并行计算 2本地计算 3任务粒度 4Combine(连接) 5Partition(分区) 6读取中间结果 7任务管道提 纲 Hadoop简介 Hadoop分布式文件系统HDFS 分布式数据处理MapReduce 分布式结构化数据表HBase Hadoop安装 HDFS使用 HBase安装使用 MapReduce编程 逻辑模型 表格里存

10、储一系列的数据行,每行包含一个可排序的行关键字、 一个可选的时间戳及一些可能有数据的列(稀疏)数据行有三种基本类型的定义: 行关键字是数据行在表中唯一标识,时间戳是每次数据操作对应 关联的时间戳,列定义为::(:) 行 关 键 字时 间 戳列“contents:“列“anchor:“列“mime:“ “n.www “t9“anchor:“CNN“t8“anchor:my.look.ca“CNN.com“t6“.“text/html“t5“.“t3 “.“ 物理模型 行 关 键 字时 间 戳列“contents:“ “n.www“t5“ t4“ t3“ 行关键字时 间 戳列 “anchor:“

11、“n.www“t8“anchor:“CNN“ t7“anchor:look.ca“CNN.com“ 行关键字时 间 戳列 “mime:“ “n.www“t6“text/html“物理模型实际上就是把概念模型中的一个行进行分割,并按照列 族存储 查询时间戳为t7的“contents:”将返回空值,查询时间戳为t8, “anchor:”值为“look.ca”的项也返回空值 (空的单元格不存储 ) 查询“contents:”而不指明时间戳,将返回t5时刻的数据;查询 “anchor:”的“look.ca”而不指明时间戳,将返回t7时刻的数据 (未 指明时间戳,则返回指定列的最新数据值 )子表服务器

12、客户端进行更新操作时,首先连接相关的子表服务器,之后向子 表提交变更。提交的数据被添加到子表的HMemcache和子表服务器 的HLog 提供服务时,子表首先查询缓存HMemcache。若没有,再查找磁 盘上的HStore HRegion.flushcache()定期被调用,把HMemcache中的内容写到 磁盘上HStore文件里 调用HSpact()方法来实现多个HStoreFile合并成一个 HStoreFile HRegion.closeAndMerge()可把两个子表合并成一个;HRegion. closeAndSplit(),可将子表分割为两个新子表 调用flushcache()方

13、法越少,工作量就越少,而HMemcache就要占用更多的内存 空间,启动时HLog文件也需要更多的时间来恢复数据。而调用flushcache()越 频繁,HMemcache占用内存就越少,HLog文件恢复数据时也就越快 主服务器 主服务器维护子表服务器在任何时刻的活跃标记 与Google的Bigtable不同,Bigtable使用分布式锁服务Chubby保 证了子表服务器访问子表操作的原子性;HBase不具备这样的 Chubby 每个子表都由它所属的表格名字、首关键字和region Id来标识例如,表名:hbaserepository首关键字:w-nk5YNZ8TBb2uWFIRJo7V=region Id:689060145591-4043 它的唯一标识符就是: hbaserepository, w- nk5YNZ8TBb2uWFIRJo7V=,6890601455914043元数据表 子表的元数据存储在另一个子表里,子表的唯一标识符可以作为 子表的行标签,映射子表标识符到物理子表服务器位置的表格称 为元数据表 启动时,主服务器立即扫描 唯一根子表(其名字是硬编 码的) 主服务器扫描元数据子表 主服务器扫描完元数据子表 ,然后就可以把这些子表分 配到子表服务器上去 元数据表123谢 谢!http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 商业贸易

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