




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、大數據與云計算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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機電工程未來技術展望與試題及答案
- 2025年海洋風電場運維技術創新與深遠海風電場發展規劃報告
- 2025年農村電商服務站農村電商供應鏈金融創新與發展困境報告
- 安全方向面試題目及答案
- 安全法學考試題庫及答案
- 政治意識形態的演變試題及答案
- 廣播媒體在2025年如何實現融合傳播的版權保護與產業發展報告
- 機電工程2025年技術管理試題及答案
- 2025年新能源汽車在城市公共交通中的新能源汽車充電設施投資風險分析報告
- 站務員復習試題附答案
- 建筑工程企業財務管理制度
- 人教版五年級數學下冊各單元知識點總結
- 肌肉注射課件(共45張課件)
- 四牙源性腫瘤課件
- Unit 9 Section B 1a-1d 教學設計 2023-2024學年人教版英語八年級下冊
- 直播違禁詞培訓
- 社會工作行政(第三版)課件匯 時立榮 第1-5章 社會服務機構- 領導與溝通、激勵
- 2024年全國高級美發師技能考試題庫(含答案)
- 拔牙流程四手操作
- 應急轉貸基金培訓
- DB 32-T 3701-2019 江蘇省城市自來水廠關鍵水質指標控制標準
評論
0/150
提交評論