大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用(微課版)課件 第5章 Storm分布式流計(jì)算引擎_第1頁(yè)
大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用(微課版)課件 第5章 Storm分布式流計(jì)算引擎_第2頁(yè)
大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用(微課版)課件 第5章 Storm分布式流計(jì)算引擎_第3頁(yè)
大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用(微課版)課件 第5章 Storm分布式流計(jì)算引擎_第4頁(yè)
大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用(微課版)課件 第5章 Storm分布式流計(jì)算引擎_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

配色色系表RGB255/187/87RGB250/211/187RGB254/238/193RGB226/243/252RGB190/233/238RGB

153/54/54RGB

242/137/68RGB

253/211/81RGB

129/193/95RGB

86/196/210RGB

127/0/1RGB

237/109/0RGB

52/200/0RGB

98/178/48RGB

48/181/197RGB137/137/137RGB255/255/255RGB89/87/87RGB221/221/221RGB

35/24/21RGB181/181/181第5章Storm分布式流計(jì)算引擎本章主要講述Storm實(shí)時(shí)流計(jì)算引擎的基本技術(shù)原理通過學(xué)習(xí)本節(jié)將能夠?qū)W習(xí)Storm實(shí)時(shí)流計(jì)算引擎的基本技術(shù)原理。通過本節(jié)學(xué)習(xí)可以掌握:Storm基本概念Storm系統(tǒng)架構(gòu)和執(zhí)行流程Storm系統(tǒng)特性Storm消息可靠性Storm基本概念Storm系統(tǒng)架構(gòu)和執(zhí)行流程Storm系統(tǒng)特性Storm消息可靠性Storm是一個(gè)分布式、實(shí)時(shí)計(jì)算框架。具有以下幾種特點(diǎn):實(shí)時(shí)響應(yīng),低延遲;數(shù)據(jù)不存儲(chǔ),先計(jì)算;連續(xù)查詢;事件驅(qū)動(dòng)。Storm中分為了業(yè)務(wù)進(jìn)程和數(shù)據(jù)進(jìn)程,其中業(yè)務(wù)邏輯進(jìn)程有以下幾種:Topology是Storm中運(yùn)行的一個(gè)實(shí)時(shí)應(yīng)用程序Nimbus負(fù)責(zé)資源分配和任務(wù)調(diào)度Supervisor負(fù)責(zé)接受Nimbus分配的任務(wù),啟動(dòng)和停止屬于自己管理的worker進(jìn)程Worker是Topology運(yùn)行時(shí)的物理進(jìn)程。每個(gè)Worker是一個(gè)JVM進(jìn)程ZooKeeper為Storm服務(wù)中各進(jìn)程提供分布式協(xié)作服務(wù)Storm概述Task:運(yùn)行了Worker中的每一個(gè)Spout/Bolt的線程。Storm的數(shù)據(jù)進(jìn)程有以下幾種:Spout:在一個(gè)Topology中產(chǎn)生源數(shù)據(jù)流的組件,是數(shù)據(jù)輸入進(jìn)程。Bolt:在一個(gè)Topology中接受數(shù)據(jù)然后執(zhí)行處理的組件,是數(shù)據(jù)輸出進(jìn)程。Tuple:Storm的核心數(shù)據(jù)結(jié)構(gòu),是消息傳遞的基本單元,不可變Key-Value對(duì),這些Tuple會(huì)以一種分布式的方式進(jìn)行創(chuàng)建和處理。Tuple指代為Storm每次收到的一個(gè)數(shù)據(jù)或一組數(shù)據(jù),它是數(shù)據(jù)處理的基本單位。Stream:一個(gè)無邊界的連續(xù)Tuple序列,也叫作流。是由多個(gè)連續(xù)tuple組成的一個(gè)帶有順序性的序列,其遵循先進(jìn)先出的原則。執(zhí)行輸入計(jì)算和輸出。Storm的邏輯進(jìn)程Storm基本概念Storm系統(tǒng)架構(gòu)和執(zhí)行流程Storm系統(tǒng)特性Storm消息可靠性用戶提交topology給Client,Client收到請(qǐng)求之后,解壓執(zhí)行jar包,然后將topology發(fā)送給Nimbus。Nimbus收到之后,會(huì)將JVM進(jìn)程做分解,并且同時(shí)分配jobID,保證應(yīng)用唯一性。Nimbus將JVM進(jìn)程中需要執(zhí)行的操作的摘要信息發(fā)送給Zookeeper。摘要信息中主要包含的是任務(wù)的信息和jar包的名稱Storm執(zhí)行流程zookeeper根據(jù)集群的綜合負(fù)載,下發(fā)任務(wù)給Supervisor。Supervisor收到zookeeper下發(fā)的任務(wù)之后,會(huì)聯(lián)系Nimbus下載對(duì)應(yīng)的任務(wù)的jar包。Supervisor會(huì)解壓jar包,創(chuàng)建worker進(jìn)程,。worker啟動(dòng)之后,會(huì)將執(zhí)行的任務(wù)封裝為task,然后要求Supervisor封裝executor。然后將task下發(fā)到executor中執(zhí)行。Storm執(zhí)行流程executor完成計(jì)算之后,會(huì)將結(jié)果返回給worker,worker整合結(jié)果之后返回給Supervisor,然后返回給Nimbus,Nimbus整合結(jié)果,反饋給Client。executor和worker會(huì)自我注銷。(一般來說,Storm都是下發(fā)計(jì)算方法,然后一直持續(xù)運(yùn)行的,如果想要不進(jìn)行計(jì)算,就必須人為手工關(guān)閉進(jìn)程,這時(shí)候,executor和worker才會(huì)做自我注銷操作。)Storm執(zhí)行流程一旦在執(zhí)行的過程中出現(xiàn)問題,由于本身executor需要周期性的上報(bào)心跳,所以一旦executor出現(xiàn)問題,zookeeper就會(huì)及時(shí)獲取,并且反饋信息給Supervisor,要求其重新啟動(dòng)worker或者是重新啟動(dòng)某一個(gè)task。Supervisor一旦出現(xiàn)故障,那么Zookeeper會(huì)直接要求其他的Supervisor執(zhí)行未執(zhí)行完成的任務(wù)Nimbus采用主備進(jìn)程,一旦主Nimbus出現(xiàn)故障,我們可以進(jìn)行及時(shí)的故障切換操作。Storm執(zhí)行流程Storm基本概念Storm系統(tǒng)架構(gòu)和執(zhí)行流程Storm系統(tǒng)特性Storm消息可靠性Nimbus-HA數(shù)據(jù)可靠性Storm基本概念Storm系統(tǒng)架構(gòu)和執(zhí)行流程Storm系統(tǒng)特性Storm消息可靠性acker的工作流程如下所示:Spout創(chuàng)建一個(gè)新的Tuple時(shí),會(huì)發(fā)一個(gè)消息通知acker去跟蹤。Bolt在處理Tuple成功或失敗后,也會(huì)發(fā)一個(gè)消息通知acker。acker會(huì)找到發(fā)射該Tuple的Spout,回調(diào)其ack或fail方法。在Storm里面一個(gè)tuple被完全處理的意思是:這個(gè)tuple以及由這個(gè)tuple所派生的所有的tuple都被成功處理。如果這個(gè)消息在Timeout所指定的時(shí)間內(nèi)沒有成功處理,這個(gè)tuple就被認(rèn)為處理失敗了。ACK機(jī)制在Storm中,消息可靠性是一種保證機(jī)制,主要是用于保證在計(jì)算的過程中對(duì)計(jì)算的準(zhǔn)確性進(jìn)行保證,Storm本身要求的是低延遲處理,那么在這種情況下,我們還需要保證整體處理的準(zhǔn)確。我們提出了3種方式來對(duì)數(shù)據(jù)的計(jì)算準(zhǔn)確性進(jìn)行保證。ACK機(jī)制可靠級(jí)別處理機(jī)制說明最多一次無吞吐量最大,適用于消息可靠性較低的場(chǎng)景。最少一次Ack機(jī)制吞吐量較低,要求數(shù)據(jù)被完整處理,適用于消息可靠性要求高的場(chǎng)景。精確一次TridentTrident是Streaming提供的特殊的事務(wù)性API,吞吐量最低。最多一次:就是在整個(gè)數(shù)據(jù)輸入到輸出的階段中,我們只需要進(jìn)行最多一次準(zhǔn)確性確認(rèn)。一般來說,做準(zhǔn)確性確認(rèn)需要消耗系統(tǒng)的相關(guān)資源。那么最多一次確認(rèn)消耗的開銷最小,這樣的話就可以保證在海量數(shù)據(jù)計(jì)算的情況下,盡可能多的節(jié)省資源最少一次:就是在整個(gè)數(shù)據(jù)輸入到輸出的階段中,我們必須至少指定一次準(zhǔn)確性確認(rèn),一般來說,最少一次的確認(rèn)機(jī)制,都不會(huì)等于1次的,那么這樣的話,確認(rèn)機(jī)制就會(huì)消耗比較多的資源,那么計(jì)算可以消耗的資源就會(huì)減少,那么計(jì)算處理的數(shù)據(jù)量一般就不會(huì)很大。精確一次:精確一次就是通過程序調(diào)用API接口,進(jìn)行精細(xì)化的確認(rèn),但是精細(xì)化的確認(rèn)消耗的資源也是最大的。所以整體來說,精確一次的話,計(jì)算所能處理的資源也就最少。ACK機(jī)制Spout發(fā)送一個(gè)Tuple時(shí),會(huì)通知Acker一個(gè)新的根消息產(chǎn)生了,Acker會(huì)創(chuàng)建一個(gè)新的tupletree,并初始化校驗(yàn)和為0。Bolt發(fā)送消息時(shí)向Acker發(fā)送anchortuple,刷新tupletree,并在發(fā)送成功后向Acker反饋結(jié)果。如果成功則重新刷新校驗(yàn)和,如果失敗則Acker會(huì)立即通知

Spout處理失敗。當(dāng)tupletree被完全處理(校驗(yàn)和為0),Acker會(huì)通知Spout處理成功ACK機(jī)制請(qǐng)簡(jiǎn)述Storm的特點(diǎn)?請(qǐng)簡(jiǎn)述Storm的Nimbus的作用?請(qǐng)簡(jiǎn)述StormNimbus機(jī)制的原理?請(qǐng)簡(jiǎn)述ACK機(jī)制的優(yōu)勢(shì)?

以下哪個(gè)不是Storm的計(jì)算特點(diǎn)?實(shí)時(shí)響應(yīng)低延遲事件驅(qū)動(dòng)離線計(jì)算2.以下哪個(gè)不是Zookeeper在Storm中的執(zhí)行作用?A. 監(jiān)控執(zhí)行B. 保證數(shù)據(jù)安全C. 下發(fā)ApplicationD. 分配任務(wù)

描述了Storm基本概念講解了Storm系統(tǒng)架構(gòu)和執(zhí)行流程講解了Storm系統(tǒng)特性講解了Storm消息可靠性學(xué)習(xí)推薦華為在線學(xué)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論