武汉理工大学云计算重点(刘鹏第三版)_第1页
武汉理工大学云计算重点(刘鹏第三版)_第2页
武汉理工大学云计算重点(刘鹏第三版)_第3页
武汉理工大学云计算重点(刘鹏第三版)_第4页
武汉理工大学云计算重点(刘鹏第三版)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、大数据与云计算1.云计算是并行计算、分布式计算和网格计算的发展。2云计算服务类型:将基础设施作为服务laas、将平台作为服务paas、将软件作为服务saas。3.云计算体系结构分为四层:物理资源层、资源池层,管理中间件层,SOA(service-oriented-architecture,面向服务的体系结构)构建层。4.云计算有更低的硬件和网络成本、更低的管理成本和电力成本,也有更高的资源利用率。5.云计算特点:超大规模、虚拟化、高可靠性、通用性、高可伸缩性、按需服务、极其廉价二、Google云计算原理和应用Google云计算技术包括:Google文件系统GFS、分布式计算编程模型MapReduce、分布式锁Chubby、分布式结构化数据表BigTable、分布式存储系统Megastore、分布式监控系统Dapper、海量的交互式分析工具Dremel,以及内存大数据分析系统powerdrill。2.GFS是一个大型的分布式文件系统GoogleFileSystem3.GFS将文件按照固定大小进行分块,默认是64MB,每一块称为一个chunk,每一个chunk都有一个索引号。4.GFS特点:采用中心服务器模式、不缓存数据、在用户态下实现、只提供专用接口5.master容错,Master上保存了GFS文件系统的三种元数据NameSpace,文件系统目录结构、Chunk与文件名的映射表、Chunk副本的位置信息(默认有三个副本)6.chunkserver容错:GFS中的每一个文件被划分成多个Chunk,Chunk的默认大小是64MB,每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验和,保证数据正确。7.系统管理技术:大规模集群安装技术、故障检测技术、节点动态加入技术节能技术8.mapreduce模型:Map函数--对一部分原始数据进行指定的操作。每个Map操作都针对不同的原始数据,因此Map与Map之间是互相独立的,这使得它们可以充分并行化。reduce函数--操作—对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果是互不交叉的,reduce也可以在并行环境下执行。9.MapReduce函数把输入文件分成M块,每块大概16M~64MB。10.Chubby几个重要的特性:Chubby不支持内部文件的移动;不记录文件的最后访问时间;另外在Chubby中并没有符号连接(SymbolicLink,又叫软连接,类似于Windows系统中的快捷方式)和硬连接(HardLink,类似于别名)的概念11.用户打开某个节点的同时会获取一个类似于UNIX中文件描述符(FileDescriptor)的句柄,这个句柄由以下三个部分组成:校验数位:防止其他用户创建或猜测这个句柄、序号:确定句柄由当前还是以前的主服务器创建、模式信息:用于新的主服务器重新创建一个旧句柄。补充:Bigtable是Google开发的基于GFS和Chubby的分布式存储系统。12.分布式结构化数据表Bigtable设计动机与目标:需要存储的数据种类繁多、海量的服务请求、商用数据库无法满足Google的需求。13.Bigtable选用了Google自己开发的分布式锁服务Chubby14.Google应用程序引擎:GoogleAppEngine为每个应用程序提供了一个安全运行环境,该沙盒可以保证每个应用程序能够安全的隔离运行。第五章、hadoop2.01.2002年开源组织Apache成立开源搜索引擎项目Nutch,2004年Google三大论文,Apache实现了Nutch版的NDFS和MapReduce2006年NDFS和MapReduce移出Nutch,形成独立项目,称为Hadoop。2.hadoop分布式文件系统HDFS可以部署在廉价的硬件上,能够高容错、可靠的存储海量数据(可以达到TB甚至PB级)。它还可以和Yarn中的mapreduce编程模型很好的结合,为应用程序提供高吞吐量的数据访问,适用于大数据应用程序。3.HDFS架构:4.HDFS内部特性:冗余备份、副本存放副本选择HDFS会尽量使用离程序最近的副本来满足用户请求,这样可以减少总带宽消耗和读延时。如果在读取程序的同一个机架上有一个副本,那么就使用这个副本;如果HDFS机群跨了多个数据中心,那么读取程序将优先考虑本地数据中心的副本。HDFS的架构支持数据均衡策略。如果某个DataNode的剩余磁盘空间下降到一定程度,按照均衡策略,系统会自动把数据从这个DataNode移动到其他节点。当对某个文件有很高需求时,系统可能会启动一个计划创建该文件的新副本,并重新平衡集群中的其他数据。4心跳检测5数据完整性检测6元数据磁盘失效7简单一致性模型、流式数据访问客户端缓存客户端创建文件的请求不是立即到达NameNode,HDFS客户端先把数据缓存到本地的一个临时文件,程序的写操作透明地重定向到这个临时文件。当这个临时文件累积的数据超过一个块的大小(128MB)时,客户端才会联系NameNode。NameNode在文件系统中插入文件名,给它分配一个数据块,这样客户端就把数据从本地的缓存刷新到指定的数据块中。当文件关闭后,临时文件中剩余的未刷新数据也会被传输到DataNode中,然后客户端告诉NameNode文件已关闭,此时NameNode才将文件创建操作写入日志进行存储。如果NameNode在文件关闭之前死机,那么文件将会丢失。如果不采用客户端缓存,网络速度和拥塞都会对输出产生很大的影响。流水线复制1)改进树型结构:为了解决传统数据中心树结构上层交换网路存在的单点失效和瓶颈问题,Alfares等人将fattree引入数据中心网络,fattree仍然采用三层级联的交换机拓扑结构为服务器之间的通信提供无阻塞网路交换(核心-汇聚-接入)2)递归层次结构:Dcell、FiConn、Bcube3.软件定义网络SDN是一种新型的网络技术,它将网络的控制平面与数据转发平面进行分离。SDN架构主要分为基础设施层、控制层和应用层。4.云计算节能技术1)DVFS节能技术:控制cpu能耗的技术,当cpu未被完全利用时,通过降低cpu的供电电压和时钟频率主动降低cpu性能,这样可以带来数量级的动态能耗降低。2)基于虚拟化的节能技术3)基于主机关闭/开启的节能技术:随机式策略、超时式策略和预测式策略。MapReduce编程实例WordCountpublicclassWordCount{publicstaticclassTokenizerMapperextendsMapper<Object,Text,Text,IntWritable>{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{StringTokenizeritr=newStringTokenizer(value.toString());while(itr.hasMoreTokens()){word.set(itr.nextToken());context.write(word,one);}}}publicstaticclassIntSumReducer

extendsReducer<Text,IntWritable,Text,IntWritable>{privateIntWritableresult=newIntWritable();publicvoidreduce(Textkey,Iterable<IntWritable>values,Contextcontext)throwsIOException,InterruptedException{intsum=0;for(IntWritableval:values){sum+=val.get();}result.set(sum);context.write(key,result);}}publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();String[]otherArgs=newGenericOptionsParser(conf,args).getRemainingArgs();if(otherArgs.length!=2){System.err.println("Usage:wordcount<in><out>");System.exit(2);}Jobjob=newJob(conf,"wordcount");job.setJarByClass(WordCount.class);job.setMapperClass(TokenizerMapper.class);job.setCombinerClass(IntSumReducer.class);job.setReducerClass(IntSumReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);FileInputFormat.addInputPath(job,newPath(otherArgs[0]));FileOutputFormat.setOutputPath(job,newPath(otherArgs[1]));System.exit(job.waitForCompletion(true)?0:1);}}Mapreduce编程实例--矩阵相乘matrixInputFormat:publicclassmatrixInputFormatextendsInputFormat<Intpair,intPair>{publicmatrix[]m=newmatrix[2];//新建两个实例publicList<InputSplit>getSplits(JobContextcontext)throwsIOExceptioninterruptionException{intNumOfFiles=readFile(context)for(intn=0;n<row;n++){row为行数for(intm=0;m〈col;m++){colmatrixInputSplitsplit=newmatrixInputSplit(n,this.m[0],m,this.m[1]);split.add(split);}}returnsplits}MatrixMultipublicclassmatrixMulti{publicstaticclassMatrixMapperextendsMapper<IntPair,IntPair,IntPair,IntWritable>{publicvoidmap(IntPairkey,IntPairvalue,Contextcontext)throwsIOException,InterruptionException{

intleft=value.getLeft();intright=value.getRight();intWritableresult=newIntWritable(left*right)context.write(key,result);}}publicstaticclassFirstPartitionerextendsPartitioner<IntPair,IntWritable>{intabs=Math.abs(key,getLeft())%numPartition;returnabs;}}publicstaticclassMatrixReducerextendsReducer<IntPair,IntWritable,IntPair,IntW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论