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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

Reduce操作

map階段完成后,中間結果的鍵/值對則根據鍵的大小結合成列表傳遞給reducer可以看作聚集函數(如求平均),這需要在所有的具有相同group-by屬性的記錄上進行計算偽代碼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階段輸出文件分布式文件系統MapReduce:例子

并行MapReduce:例子

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

MapReduce:

更多的例子MapReduce:PageRank

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

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

MapReduce

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

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

階段

1:HTML處理

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

階段

2:PageRank分配

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

聚類(K-means)圖像算法.索引系統MapReduceProgramsInGoogleSourceTreeMapReduce:擴展和相似應用平臺

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

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

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

構架分布式文件系統整個集群使用一個命名空間數據一致性 –一次寫入多次讀取 –用戶在已有文件中只能追加內容

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

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

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

溫馨提示

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

評論

0/150

提交評論