Heron是Apache Storm的一個(gè)直接繼承者。從架構(gòu)角度來(lái)看,它與Storm截然不同,但是從API的角度看它是完全向后兼容的。
下面的章節(jié)指明了Heron和Storm的區(qū)別,描述了Heron背后的設(shè)計(jì)目標(biāo),并解釋了其架構(gòu)的主要組件。
代碼庫(kù)
Heron代碼庫(kù)的詳細(xì)指南在這里。
拓?fù)?/strong>
你可以認(rèn)為一個(gè)Heron集群是一種管理流式處理實(shí)體(稱作拓?fù)?的生命周期機(jī)制的機(jī)制。更多信息可以查看Heron拓?fù)湮臋n。
與Apache Storm的關(guān)系
Heron是Apache Storm的直接繼承者,但是以下面兩點(diǎn)為構(gòu)建目標(biāo):
1.通過(guò)把Storm的基于線程的計(jì)算模型替換為基于進(jìn)程的模型,克服Storm的性能,可靠性,和其他缺點(diǎn)。
2.保留與Storm的數(shù)據(jù)模型和拓?fù)銩PI的完全兼容。
關(guān)于Heron和Storm更深入的討論,查看Twitter Heron: Stream Processing at Scale論文。
Heron設(shè)計(jì)目標(biāo)
隔離–拓?fù)鋺?yīng)該是基于進(jìn)程的而非基于線程的,而且每個(gè)進(jìn)程應(yīng)該獨(dú)立執(zhí)行以便于調(diào)試,分析和排錯(cuò)。
資源限制–拓?fù)鋺?yīng)該只使用它們初始分配的那些資源,永遠(yuǎn)不能超過(guò)那些限制。這使得Heron在共享的基礎(chǔ)設(shè)施上也保證安全。
兼容性–Heron與Apache Storm的API和數(shù)據(jù)模型是完全兼容的,使得開(kāi)發(fā)人員便于在系統(tǒng)間遷移。
反壓機(jī)制–在Heron這類分布式系統(tǒng)中,不能保證所有的系統(tǒng)組件以相同的速度執(zhí)行。Heron有內(nèi)置的反壓機(jī)制來(lái)確保拓?fù)湓诮M件緩慢的情況下可以自適應(yīng)。
性能–許多Heron的設(shè)計(jì)選擇使得Heron獲得了比Storm更高的吞吐量和更低的延遲,同時(shí)還提供了增強(qiáng)的可配置性來(lái)微調(diào)可能的延遲/吞吐量的折中。
語(yǔ)義保證–Heron支持at-most-once和at-least-once兩種處理語(yǔ)義。
效率–Heron的構(gòu)建目標(biāo)是以最小的資源使用量達(dá)到上述所有目標(biāo)。
拓?fù)浣M件
Heron拓?fù)涞南铝泻诵慕M件在以下小節(jié)中深入討論:
- Topology Master
- Container
- Stream Manager
- Heron Instance
- Metrics Manager
- Heron Tracker
Topology Master
Topology Master(TM)管理拓?fù)涞恼麄(gè)生命周期,從提交直到最終被殺死。當(dāng)==heron==部署一個(gè)拓?fù)鋾r(shí),它啟動(dòng)了一個(gè)TM和多個(gè)containers。這個(gè)TM創(chuàng)建了一個(gè)臨時(shí)ZooKeeper節(jié)點(diǎn)以保證這個(gè)拓?fù)渲挥幸粋(gè)TM,并且這個(gè)TM可被拓?fù)渲腥魏芜M(jìn)程發(fā)現(xiàn)。這個(gè)TM也負(fù)責(zé)構(gòu)建拓?fù)涞奈锢碛?jì)劃,傳遞給不同組件。
圖1 Topology Master配置
TM有多種配置參數(shù),你可以在拓?fù)渖芷诿恳粋(gè)階段進(jìn)行調(diào)整。
Container每個(gè)Heron拓?fù)浒ǘ鄠(gè)containers,每個(gè)container包含多個(gè)Heron實(shí)例,一個(gè)Stream Manager和一個(gè)Metrics Manager。Containers與拓?fù)涞腡M通信以確保拓?fù)湫纬梢粋(gè)全聯(lián)通圖。
作為插圖,查看上述Topology Master小節(jié)的圖片。
Stream Manager
Stream Manager(SM)管理拓?fù)浣M件間元組的路由。一個(gè)拓?fù)渲械拿總(gè)Heron實(shí)例連接到它的本地SM,同時(shí)在一個(gè)給定的拓?fù)渲兴械腟M互相連接形成了一個(gè)網(wǎng)絡(luò)。下面是SM網(wǎng)絡(luò)的圖示:
圖2 SM網(wǎng)絡(luò)的圖示
除了作為數(shù)據(jù)流的路由引擎外,SM還負(fù)責(zé)在需要時(shí)在拓?fù)渲袀鞑シ磯。下面是反壓的圖示:
圖3 反壓的圖示
上圖中,假定bolt B3(在container A中)所有輸入都來(lái)自spout S1。B3比其他組件運(yùn)行更慢。結(jié)果是,container A的SM會(huì)拒絕來(lái)自容器C和D的輸入,因?yàn)槟菢訒?huì)導(dǎo)致那些容器的套接字緩沖填滿,進(jìn)而導(dǎo)致吞吐量崩潰。
在這種情況下,Heron的反壓機(jī)制起效。容器A中的SM會(huì)向其他所有SM發(fā)送一條消息。結(jié)果是,其他SM會(huì)檢查容器的物理計(jì)劃,并切斷流入bolt B3的spouts的輸入(本例中是spout S1)。
圖4 Stream Manager2
一旦落后的bolt(B3)恢復(fù)正常,容器A的SM會(huì)通知其他SM,這個(gè)拓?fù)涞牧髀酚删蜁?huì)恢復(fù)正常。
Stream Manger配置
SM有多種配置參數(shù),你可以在拓?fù)渖芷诿恳粋(gè)階段進(jìn)行調(diào)整。
Heron Instance
一個(gè)Heron Instance(HI)是一個(gè)處理一個(gè)獨(dú)立spout或bolt任務(wù)的進(jìn)程,支持簡(jiǎn)單的調(diào)試和分析。目前,Heron只支持Java,所以所有HI都是JVM進(jìn)程,但是未來(lái)會(huì)改變。
Heron Instance配置
HI有多種配置參數(shù),你可以在拓?fù)渖芷诿恳粋(gè)階段進(jìn)行調(diào)整。
Metrics Manager
每個(gè)拓?fù)溥\(yùn)行一個(gè)Metrics Manager(MM),用于收集和導(dǎo)出一個(gè)container中所有組件的度量。然后把哪些度量信息路由給Topology Master和外部收集器,如Scribe, Graphite,或類似系統(tǒng)。
你可以通過(guò)實(shí)現(xiàn)自己的定制度量池(sink),使Heron支持其他系統(tǒng)。
集群級(jí)別組件
上述小節(jié)列出的所有組件在每個(gè)拓?fù)渲卸伎梢哉业。下面列出的組件是集群級(jí)別的組件,在特定拓?fù)渫馄鹱饔谩?/div>
Heron CLI
Heron有一個(gè)稱作==heron==的CLI工具,用于管理拓?fù)洹N臋n參照Managing Topologies。
Heron Tracker
Heron Tracker(或Tracker)是一個(gè)關(guān)于拓?fù)涞募盒畔⒌募腥肟,包括哪個(gè)拓?fù)湔谶\(yùn)行,正在啟動(dòng),正在被殺死,等等。它依賴于與集群中拓?fù)渌褂玫南嗤腪ooKeeper節(jié)點(diǎn),并提供了JSON REST API接口來(lái)獲取那些信息。Tracker可以運(yùn)行在Heron集群內(nèi)(在Heron scheduler管理的相同的機(jī)器上),也可以運(yùn)行在Heron集群外。
運(yùn)行包含JSON API文檔的操作說(shuō)明可以參考Heron Tracker。
Heron UI
Heron UI是一個(gè)富可視化接口,可以用于與拓?fù)浣换ァMㄟ^(guò)Heron UI,可以看到集群中每個(gè)拓?fù)涞倪壿嫼臀锢碛?jì)劃的著色的展現(xiàn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:Twitter開(kāi)源大數(shù)據(jù)實(shí)時(shí)分析系統(tǒng)Heron:Heron架構(gòu)
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019319532.html
關(guān)鍵詞標(biāo)簽:
Twitter開(kāi)源大數(shù)據(jù)實(shí)時(shí)分析系統(tǒng)Heron:Heron架構(gòu),開(kāi)源大數(shù)據(jù) Twitter Heron架構(gòu),ERP,ERP系統(tǒng),ERP軟件,ERP系統(tǒng)軟件,ERP管理系統(tǒng),ERP管理軟件,進(jìn)銷存軟件,財(cái)務(wù)軟件,倉(cāng)庫(kù)管理軟件,生產(chǎn)管理軟件,企業(yè)管理軟件,拓步,拓步ERP,拓步軟件,免費(fèi)ERP,免費(fèi)ERP軟件,免費(fèi)ERP系統(tǒng),ERP軟件免費(fèi)下載,ERP系統(tǒng)免費(fèi)下載,免費(fèi)ERP軟件下載,免費(fèi)進(jìn)銷存軟件,免費(fèi)進(jìn)銷存,免費(fèi)財(cái)務(wù)軟件,免費(fèi)倉(cāng)庫(kù)管理軟件,免費(fèi)下載,
本文轉(zhuǎn)自:e-works制造業(yè)信息化門戶網(wǎng)
本文來(lái)源于互聯(lián)網(wǎng),拓步ERP資訊網(wǎng)本著傳播知識(shí)、有益學(xué)習(xí)和研究的目的進(jìn)行的轉(zhuǎn)載,為網(wǎng)友免費(fèi)提供,并盡力標(biāo)明作者與出處,如有著作權(quán)人或出版方提出異議,本站將立即刪除。如果您對(duì)文章轉(zhuǎn)載有任何疑問(wèn)請(qǐng)告之我們,以便我們及時(shí)糾正。聯(lián)系方式:QQ:10877846 Tel:0755-26405298。