虛擬化與云計算-云架構(gòu)_第1頁
虛擬化與云計算-云架構(gòu)_第2頁
虛擬化與云計算-云架構(gòu)_第3頁
虛擬化與云計算-云架構(gòu)_第4頁
虛擬化與云計算-云架構(gòu)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

云構(gòu)架主要內(nèi)容概述基礎(chǔ)設(shè)施層平臺層應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)概述云計算的服務(wù)層次基礎(chǔ)設(shè)施層平臺層應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)云構(gòu)架層次共有云(通過Internet提供公共服務(wù))混合云(通過Internet和Intranet提供公共和私有服務(wù))私有云(通過Intranet提供私有服務(wù))應(yīng)用層軟件及服務(wù)(SaaS)平臺層平臺即服務(wù)(PaaS)基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施即服務(wù)(Iaas)云構(gòu)架的服務(wù)層次基礎(chǔ)設(shè)施即服務(wù)提供虛擬化的計算資源、存儲資源、網(wǎng)絡(luò)資源AmazonEC2平臺即服務(wù)使軟件開發(fā)人員充分利用開放的資源來開發(fā)定制化的應(yīng)用GoogleAppEngine軟件即服務(wù)軟件或應(yīng)用通過租用的形式提供給用戶使用SGoogleGmail、Docs概述基礎(chǔ)設(shè)施層基本功能、示例、案例平臺層應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)基礎(chǔ)設(shè)施層的基本功能資源抽象資源監(jiān)控復(fù)雜管理數(shù)據(jù)管理資源部署安全管理計費(fèi)管理基礎(chǔ)設(shè)施層示例AmazonEC2底層采用Xen虛擬化技術(shù),以Xen虛擬機(jī)的形式向用戶動態(tài)提供計算資源按照用戶使用資源的數(shù)量和時間計費(fèi)網(wǎng)址/ec2/概述基礎(chǔ)設(shè)施層平臺層基本功能、實(shí)例、案例應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)平臺層的基本功能開發(fā)測試環(huán)境開發(fā)平臺應(yīng)用模型、API代碼庫、開發(fā)測試環(huán)境運(yùn)行時環(huán)境驗(yàn)證、配置、部署、激活運(yùn)營環(huán)境升級、監(jiān)控、淘汰、計費(fèi)平臺層服務(wù)示例GoogleAppEngine在Google的基礎(chǔ)架構(gòu)上運(yùn)行自己的網(wǎng)絡(luò)應(yīng)用程序提供網(wǎng)址抓取、郵件、memcache、圖像操作、計劃任務(wù)等服務(wù)目前支持Java和Python概述基礎(chǔ)設(shè)施層平臺層應(yīng)用層特征、分類、案例分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)應(yīng)用層的特征可以通過瀏覽器訪問,具有開放的API在使用的過程中根據(jù)實(shí)際使用情況付費(fèi)較強(qiáng)的云應(yīng)用之間的整合能力應(yīng)用層的分類標(biāo)準(zhǔn)應(yīng)用如文檔處理、電子郵件、日程管理等提供商往往是實(shí)力雄厚的IT業(yè)巨頭客戶應(yīng)用如客戶管理系統(tǒng)CRM、企業(yè)資源計劃系統(tǒng)ERP提供商是規(guī)模較小的專業(yè)公司多元應(yīng)用如地鐵時刻表服務(wù)Mutiny、期權(quán)交易方案提供TheOptionLab提供商多是規(guī)模較小的開發(fā)團(tuán)隊長尾理論核心思想在微小的需求如果能夠得到滿足就可以創(chuàng)造價值多元應(yīng)用初創(chuàng)型公司和創(chuàng)新團(tuán)隊利用云計算快速將構(gòu)想化為現(xiàn)實(shí)GoogleDocs&DocsforFacebook在線文檔編輯多人協(xié)作編輯WebQQ一站式網(wǎng)絡(luò)服務(wù)S客戶應(yīng)用的典型代表采用了多租戶的架構(gòu),使得所有用戶和用戶和應(yīng)用程序共享一個實(shí)例,同時又能夠按需滿足不同的客戶要求概述基礎(chǔ)設(shè)施層平臺層應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)MapReduce在線測試平臺使用mapreduce框架編程解決問題在線檢測系統(tǒng)允許測試自己的程序/index.jspMapReduce:理解

考慮這樣的問題:如何在大量文檔中計算每個單詞出現(xiàn)的總次數(shù)?又如何并行地進(jìn)行計算呢?MapReduce編程模型受到編程語言如Lisp經(jīng)常使用的map和reduce的啟發(fā)用戶主要實(shí)現(xiàn)map和reduce兩個主要方法:1.Map:(key1,val1)→(key2,val2)2.Reduce:(key2,[val2])→[val3]

Map操作Map操作主要由用戶實(shí)現(xiàn),輸入為鍵/值對,輸出為一些列鍵/值對的集合如(doc—id,doc-content)map類似于SQL聚集請求中的group-by子句

Reduce操作

map階段完成后,中間結(jié)果的鍵/值對則根據(jù)鍵的大小結(jié)合成列表傳遞給reducer可以看作聚集函數(shù)(如求平均),這需要在所有的具有相同group-by屬性的記錄上進(jìn)行計算偽代碼map(Stringinput_key,Stringinput_value)://input_key:documentname//input_value:documentcontentsforeachwordwininput_value: EmitIntermediate(w,"1");reduce(Stringoutput_key,Iteratorintermediate_values)://output_key:aword//output_values:alistofcountsintresult=0;foreachvinintermediate_values: result+=ParseInt(v);Emit(AsString(result));MapReduce:執(zhí)行情況

輸入文件Map階段中間文件reduce階段輸出文件分布式文件系統(tǒng)MapReduce:例子

并行MapReduce:例子

MapReduce:容錯性通過重新執(zhí)行任務(wù)解決出錯問題任務(wù)執(zhí)行由master控制如果Mapper發(fā)生故障怎么辦?在map任務(wù)中重新執(zhí)行如果Reducer發(fā)生故障怎么辦?在reduce任務(wù)中重新執(zhí)行如果Master發(fā)生故障怎么辦?潛在問題??!

MapReduce:

更多的例子MapReduce:PageRank

PageRank是描述“randomsurfer”行為的模型C(t)是t的鏈接數(shù),(1-d)是阻尼系數(shù)(隨機(jī)跳轉(zhuǎn))“randomsurfer”指的的是隨機(jī)的鏈接情況并不考慮具體的網(wǎng)頁內(nèi)容將pagesrank平均分配給所有的鏈接網(wǎng)頁阻尼系數(shù)用于描述“無聊”和隨意的URLPageRank:關(guān)鍵理解

每次迭代的影響是有限的,第i+1次迭代僅僅依賴于第i次迭代第i次迭代,每個節(jié)點(diǎn)的PageRank可以獨(dú)立地計算PageRank使用

MapReduce

M表示為系數(shù)矩陣M的每行是分配給鏈接網(wǎng)頁的PageRank值這些值通過reduce聚集得到網(wǎng)頁的PageRank值PageRank使用

MapReduceMap:將PageRank值分配給鏈接目標(biāo)Reduce:從多個源聚集PageRank值計算得到新的PageRank值不斷迭代直至收斂SourceofImage:Lin2008

階段

1:HTML處理

Map任務(wù)輸入(URL,content)對進(jìn)行map后輸出(URL,(PRinit,list-of-urls))PRinit是URL初始的PageRank值list-of-urls包含URL所指向的所有網(wǎng)頁Reduce任務(wù)只是驗(yàn)證函數(shù)

階段

2:PageRank分配

Reduce任務(wù)輸入(URL,url_list)和許多(URL,val)值計算vals并且計算d來獲得新的PR值輸出(URL,(new_rank,url_list))非并行地檢查是否收斂MapReduce:更多的例子分布式Grep.URL點(diǎn)擊頻率計算

聚類(K-means)圖像算法.索引系統(tǒng)MapReduceProgramsInGoogleSourceTreeMapReduce:擴(kuò)展和相似應(yīng)用平臺

PIG(Yahoo)Hadoop(Apache)DryadLinq(Microsoft)使用MapReduce的大規(guī)模系統(tǒng)構(gòu)架UserAppMapReduceDistributedFileSystems(GFS)概述基礎(chǔ)設(shè)施層平臺層應(yīng)用層分布式計算軟件構(gòu)架MapReduce介紹分布式計算開源框架Hadoop介紹小結(jié)Hadoop相關(guān)書籍我們關(guān)于云計算和Hadoop的新書《分布式系統(tǒng)和云計算概論》《Hadoop實(shí)戰(zhàn)》可以通過以下網(wǎng)址下載部分章節(jié):/course/cloudcomputing2010/index.html概述Hadoop分布式文件系統(tǒng)構(gòu)架Hadoop在Facebook的使用為什么使用Hadoop?需要處理Petabyte級別的數(shù)據(jù)集為每個應(yīng)用程序的建立可靠的平臺代價較大每天都有節(jié)點(diǎn)壞掉 –節(jié)點(diǎn)壞掉是可以預(yù)料到的 –集群中節(jié)點(diǎn)的數(shù)量不是穩(wěn)定的只需要普通的基礎(chǔ)設(shè)施 –高效、可信、開源Hadoop歷史Dec2004–GoogleGFS論文發(fā)表July2005–Nutch使用MapReduceFeb2006–成為Lucene子項目Apr2007–Yahoo!建立1000個節(jié)點(diǎn)的集群Jan2008–成為Apache頂級項目Jul2008–建立4000節(jié)點(diǎn)的測試集群Sept2008–Hive成為Hadoop子項目誰在使用Hadoop?Amazon/A9FacebookGoogleIBMJoostLast.fmNewYorkTimesPowerSetVeohYahoo!商業(yè)硬件典型的2層構(gòu)架–節(jié)點(diǎn)是普通的商業(yè)PC機(jī)–30-40節(jié)點(diǎn)/rack–頂層到rack帶寬

3-4gigabit–Rack到節(jié)點(diǎn)帶寬1gigabitHDFS目標(biāo)超長規(guī)模分布式文件系統(tǒng) –10K個節(jié)點(diǎn),1億個文件,10PB大小

使用普通商業(yè)硬件 –對文件進(jìn)行復(fù)制應(yīng)對硬件壞掉的情況 –檢測硬件錯誤并進(jìn)行恢復(fù)分組處理優(yōu)化 –計算任務(wù)可以移植到數(shù)據(jù)所在的節(jié)點(diǎn)上 –提供非常高的聚集帶寬用戶空間,運(yùn)行在不同的操作系統(tǒng)上

構(gòu)架分布式文件系統(tǒng)整個集群使用一個命名空間數(shù)據(jù)一致性 –一次寫入多次讀取 –用戶在已有文件中只能追加內(nèi)容

文件拆分到數(shù)據(jù)塊中 –默認(rèn)數(shù)據(jù)塊大小為128MB –每個數(shù)據(jù)塊復(fù)制后放入不同的DataNodes智能客戶端 –客戶端可以獲得數(shù)據(jù)塊的位置 –客戶端可以直接從DataNode獲取數(shù)據(jù)NameNode元數(shù)據(jù)內(nèi)存中的元數(shù)據(jù) –整個元數(shù)據(jù)在內(nèi)存中 –元數(shù)據(jù)沒有請求頁面調(diào)度

元數(shù)據(jù)的類型 –文件列表 –每個文件的數(shù)據(jù)塊列表 –每個數(shù)據(jù)塊的DataNodes列表 –文件屬性,如創(chuàng)建時間、副本數(shù)等事務(wù)日志 –記錄創(chuàng)建文件、刪除文件等DataNode數(shù)據(jù)塊服務(wù)器 –存儲本地文件系統(tǒng)的數(shù)據(jù)(如ext3) –存儲數(shù)據(jù)塊的元數(shù)據(jù)(如CRC) –為客戶提供數(shù)據(jù)和元數(shù)據(jù)數(shù)據(jù)塊報告 –周期性地向NameNode發(fā)送所以數(shù)據(jù)塊的狀態(tài)報告方便于數(shù)據(jù)流水線 –將數(shù)據(jù)發(fā)送給其他指定的DataNodes數(shù)據(jù)塊位置現(xiàn)在策略

--原始副本在本地節(jié)點(diǎn)上 --第二個副本在其它的rack上 --第三個副本在同第二個rack上不同節(jié)點(diǎn)上 --其它副本隨機(jī)放置客戶讀取最近的副本將來這個策略可以擴(kuò)展數(shù)據(jù)正確性使用檢驗(yàn)和驗(yàn)證數(shù)據(jù) –使用CRC32文件創(chuàng)建 –每512字節(jié)計算一個校驗(yàn)和 –校驗(yàn)和存儲在DataNode上文件獲取 –用戶從DataNode獲得數(shù)據(jù)和校驗(yàn)和 –如果檢驗(yàn)錯誤,用戶獲取其它副本NameNode發(fā)生故障故障的發(fā)生點(diǎn)事務(wù)日志存儲在不同的目錄下 –本地文件系統(tǒng)上的目錄 –網(wǎng)絡(luò)文件系統(tǒng)(NFS/CIFS)上的目錄數(shù)據(jù)流水線(寫入)用戶獲取存放有數(shù)據(jù)塊副本的DataNode列表用戶寫入第一個DataNode的數(shù)據(jù)塊第一個DataNode用流水線方式將新數(shù)據(jù)寫入其它的DataNode當(dāng)所有的副本都更新后,用戶開始寫入文件中的下一個數(shù)據(jù)塊平衡器目標(biāo):%所有DataNode上的磁盤存儲量應(yīng)差不多當(dāng)新的DataNode加入時需要運(yùn)行平衡器當(dāng)平衡器工作時集群是在線的平衡器作用是防止網(wǎng)絡(luò)阻塞Facebook的Hadoop集群產(chǎn)品集群4800個內(nèi)核,600

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論