版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JStorm 介紹封仲淹(Longda)封仲淹(Longda Feng)Alibaba大綱Question and Answer.特性JStorm概敘 & 流式計(jì)算JStorm vs Storm現(xiàn)狀自我介紹JStorm團(tuán)隊(duì) 是國(guó)內(nèi)最早開(kāi)始使用storm的團(tuán)隊(duì)歷經(jīng)storm 0.5.1/0.5.4/0.6.0/0.6.2/0.7.0/0.7.1JStorm 0.7.1/0.9.0/0.9.1/0.9.2/0.9.3一條龍服務(wù)應(yīng)用開(kāi)發(fā)平臺(tái)開(kāi)發(fā)系統(tǒng)運(yùn)維封仲淹(Longda Feng)AlibabaJStorm 現(xiàn)狀A(yù)li 內(nèi)部超過(guò)600臺(tái)日超過(guò)1萬(wàn)億條封仲淹(Longda Feng)AlibabaJ
2、Storm 是什么JStorm 是一個(gè)分布式實(shí)時(shí)計(jì)算引擎類(lèi)似Hadoop MR用戶按照規(guī)定的編程規(guī)范實(shí)現(xiàn)一個(gè)任務(wù),將任務(wù)放到JStorm上,JStorm就將任務(wù)7 * 24 小時(shí)調(diào)度起來(lái)JStorm 比Storm 更穩(wěn)定,功能更強(qiáng)大,更快。Storm上跑的程序可以一行代碼不變運(yùn)行在JStorm上封仲淹(Longda Feng)Alibaba流式計(jì)算特點(diǎn)基于消息的流水線處理系統(tǒng)封仲淹(Longda Feng)Alibaba優(yōu)點(diǎn)1開(kāi)發(fā)非常迅速, 容易上手,只要遵守Topology,Spout, Bolt的編程規(guī)范即可開(kāi)發(fā)出一個(gè)擴(kuò)展性極好的應(yīng)用,底層rpc,worker之間冗余,數(shù)據(jù)分流之類(lèi)的操作,
3、開(kāi)發(fā)者完全不用考慮。封仲淹(Longda Feng)Alibaba優(yōu)點(diǎn)2擴(kuò)展性極好 當(dāng)一級(jí)處理單元速度,直接配置一下并發(fā)數(shù),即可線性擴(kuò)展性能封仲淹(Longda Feng)Alibaba優(yōu)點(diǎn)3健壯當(dāng)worker失效或機(jī)器出現(xiàn)故障時(shí), 自動(dòng)分配新的worker替換失效worker調(diào)度器Nimbus 采用主從備份,支持熱切封仲淹(Longda Feng)Alibaba優(yōu)點(diǎn)4準(zhǔn)確采用Acker機(jī)制,保證數(shù)據(jù)不丟失。采用事務(wù)機(jī)制,保證數(shù)據(jù)準(zhǔn)確性封仲淹(Longda Feng)Alibaba適用場(chǎng)景適合無(wú)狀態(tài)計(jì)算處理單元處理的數(shù)據(jù)均來(lái)自input Tuple,不含有額外依賴數(shù)據(jù)。場(chǎng)景:日志分析管道系統(tǒng)消
4、息轉(zhuǎn)化器統(tǒng)計(jì)分析器封仲淹(Longda Feng)Alibaba封仲淹(Longda Feng)Alibaba為什么啟動(dòng)JStorm項(xiàng)目阿里擁有自己的實(shí)時(shí)計(jì)算引擎類(lèi)似于hadoop 中的MR開(kāi)源storm響應(yīng)太慢開(kāi)源社區(qū)的速度完全跟不上Ali的需求降低未來(lái)運(yùn)維成本提供更多技術(shù)支持,加快內(nèi)部業(yè)務(wù)響應(yīng)速度為什么啟動(dòng)JStorm項(xiàng)目現(xiàn)有Storm無(wú)法滿足一些需求現(xiàn)有storm調(diào)度太簡(jiǎn)單粗暴,無(wú)法定制化Storm 任務(wù)分配不平衡RPC OOM一直沒(méi)有解決監(jiān)控太簡(jiǎn)單對(duì)ZK 訪問(wèn)頻繁。封仲淹(Longda Feng)Alibaba更穩(wěn)定(1) - nimbus HANimbus 實(shí)現(xiàn)HA當(dāng)一臺(tái)nimbus
5、掛了,自動(dòng)熱切到備份nimbus封仲淹(Longda Feng)Alibaba更穩(wěn)定(2) - 解決RPC問(wèn)題原生Storm RPCZeromq 使用堆外內(nèi)存,導(dǎo)致OS 內(nèi)存不夠Netty 導(dǎo)致OOM(老版本)JStorm底層RPC 采用netty + 檢查機(jī)制基本保證發(fā)送速度和接受速度是匹配的封仲淹(Longda Feng)Alibaba更穩(wěn)定(3)- 數(shù)據(jù)流穩(wěn)定現(xiàn)有Storm(0.9.0 已經(jīng)fix)添加supervisor時(shí), 會(huì)觸發(fā)任務(wù)rebalanceSupervisor shutdown時(shí), 觸發(fā)任務(wù)rebalance提交新任務(wù)時(shí),當(dāng)worker數(shù)不夠時(shí),觸發(fā)其他任務(wù)做rebala
6、nce上敘問(wèn)題不會(huì)在JStorm中發(fā)生封仲淹(Longda Feng)Alibaba更穩(wěn)定(4) 任務(wù)之間影響小新上線的任務(wù)不會(huì)沖擊老的任務(wù)采用cgroups對(duì)資源進(jìn)行硬隔離,保證程序之間CPU不發(fā)生搶占封仲淹(Longda Feng)Alibaba解決Disruptor急劇消耗CPU問(wèn)題當(dāng)原生Disruptor隊(duì)列慢時(shí), 生產(chǎn)方會(huì)不斷輪詢檢查Disruptor隊(duì)列是否有空的slot, 極大消耗隊(duì)列Cpu利用率從300%降到10%封仲淹(Longda Feng)Alibaba更穩(wěn)定(5)優(yōu)化GC, 減少因GC 導(dǎo)致誤認(rèn)worker死掉Storm經(jīng)常殺死worker不徹底,導(dǎo)致后續(xù)無(wú)法啟動(dòng)wor
7、ker同一臺(tái)機(jī)器上只啟動(dòng)一個(gè)supervisor/nimbus,避免運(yùn)維誤操作導(dǎo)致丟失大量任務(wù)減少netty不斷重連,占用太多的臨時(shí)端口。封仲淹(Longda Feng)Alibaba穩(wěn)定性(6) - 支持用戶級(jí)報(bào)警 和alimonitor結(jié)合支持用戶自定義監(jiān)控和報(bào)警 (0.9.6)各種維度采樣單worker內(nèi)部支持70多個(gè)維度的采樣,全方位展示各種數(shù)據(jù),幫助快速查找錯(cuò)誤封仲淹(Longda Feng)Alibaba更穩(wěn)定(7) - more catchSupervisor主線程Spout/Bolt 的open/prepare所有IO, 序列化,反序列化封仲淹(Longda Feng)Alib
8、aba更穩(wěn)定(8)減少對(duì)ZK的訪問(wèn)量:去掉大量無(wú)用的watchtask的心跳時(shí)間延長(zhǎng)一倍Task心跳檢測(cè)無(wú)需全ZK掃描封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(1)徹底解決了storm 任務(wù)分配不均衡問(wèn)題從4個(gè)維度進(jìn)行任務(wù)分配:CPUMemoryDiskNet封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(2)默認(rèn)一個(gè)task,一個(gè)cpu slot當(dāng)task消耗更多的cpu時(shí),可以申請(qǐng)更多cpu slot。申請(qǐng)的cpu slot多,就獲取更多的cpu資源需求:解決新上線的任務(wù)去搶占老任務(wù)的cpu。一淘有些task內(nèi)部起很多線程,單task消耗太多cpu封仲淹(Long
9、da Feng)Alibaba調(diào)度更強(qiáng)大(3)默認(rèn)一個(gè)task,一個(gè)memory slot當(dāng)task需要更多內(nèi)存時(shí),可以申請(qǐng)更多內(nèi)存slot需求:在海狗項(xiàng)目中,solr task 需要8G內(nèi)存,而且其他任務(wù)2G 就夠了封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(4)在資源平衡算法的前提下盡量保證上下游關(guān)系的task在同一個(gè)worker盡量走內(nèi)部通道,提高性能封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(5)可以強(qiáng)制某個(gè)component的task 運(yùn)行在不同的節(jié)點(diǎn)上需求:聚石塔,海狗項(xiàng)目,某些task提供web service服務(wù),為了端口不沖突,因此必須強(qiáng)制這些ta
10、sk運(yùn)行在不同節(jié)點(diǎn)上封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(6)可以強(qiáng)制topology運(yùn)行在單獨(dú)一個(gè)節(jié)點(diǎn)上需求:節(jié)省網(wǎng)絡(luò)帶寬Tlog中大量小topology,為了減少網(wǎng)絡(luò)開(kāi)銷(xiāo),強(qiáng)制任務(wù)分配到一個(gè)節(jié)點(diǎn)上封仲淹(Longda Feng)Alibaba調(diào)度更強(qiáng)大(7)可以自定義任務(wù)分配提前預(yù)約任務(wù)分配到哪臺(tái)機(jī)器上,哪個(gè)端口,多少個(gè)cpu slot,多少內(nèi)存,是否申請(qǐng)磁盤(pán)需求:海狗項(xiàng)目中,部分task期望分配到某些節(jié)點(diǎn)上封仲淹(Longda Feng)Alibaba調(diào)度更加強(qiáng)大(8)可以預(yù)約上一次成功運(yùn)行時(shí)的任務(wù)分配上次task分配了什么資源,這次還是使用這些資源需求:CDO 很多
11、任務(wù)期待重啟后,仍使用老的節(jié)點(diǎn),端口封仲淹(Longda Feng)Alibaba插件化可以運(yùn)行在飛天上可以運(yùn)行在Hadoop 2.0(yarn)上可以運(yùn)行在公司彈性計(jì)算平臺(tái)上封仲淹(Longda Feng)Alibaba資源隔離不同部門(mén),使用不同的組名每個(gè)組有自己的Quato(0.9.5 以下版本)不同組的資源隔離采用cgroups 硬隔離封仲淹(Longda Feng)Alibabaclassloader解決應(yīng)用的類(lèi)和JStorm的類(lèi)發(fā)生沖突應(yīng)用的類(lèi)在自己的類(lèi)空間中需求:Log4j, Logbak沖突當(dāng)應(yīng)用訪問(wèn)Hive時(shí),使用thrift9, 與JStorm thrift7沖突如果使用hs
12、f,肯定會(huì)發(fā)生類(lèi)沖突封仲淹(Longda Feng)Alibaba更方便的UI人性化的LogView, 看日志更方便更簡(jiǎn)潔直觀的UI解決了storm 統(tǒng)計(jì)小粒度誤差問(wèn)題展示更關(guān)鍵的QPS封仲淹(Longda Feng)AlibabaTask 內(nèi)部異步化Worker 內(nèi)部全流水線模式Spout nextTuple和ack/fail運(yùn)行在不同線程需求:EagleEye中,在nextTuple 做sleep和wait操作不會(huì)block ack/fail 動(dòng)作封仲淹(Longda Feng)AlibabaLibjar可以無(wú)需上傳支持命令讀取配置文件,無(wú)需編碼讀取配置依賴包可以不打入應(yīng)用jar, 減少大
13、量上傳下載的時(shí)間支持應(yīng)用指定worker.classpath封仲淹(Longda Feng)Alibaba強(qiáng)大的監(jiān)控Web ui 上展示更多的監(jiān)控Task 級(jí)別,每一個(gè)模塊消耗時(shí)間,隊(duì)列長(zhǎng)度Worker級(jí)別, 每一個(gè)模塊消耗時(shí)間,隊(duì)列長(zhǎng)度, cpu/mem使用,網(wǎng)絡(luò)時(shí)延用戶自定義監(jiān)控?cái)?shù)據(jù)更多監(jiān)控和Alimonitor無(wú)縫結(jié)合,讓用戶自定義報(bào)警封仲淹(Longda Feng)Alibaba性能對(duì)比 快20%以上5臺(tái)物理機(jī)18spout/18bolt/18acker封仲淹(Longda Feng)AlibabaJstorm 性能 發(fā)送41W QPS 封仲淹(Longda Feng)AlibabaStorm 性能 發(fā)送20W QPS封仲淹(Longda Feng)Alibaba為什么更快Zeromq 減少一次內(nèi)存拷貝增加反序列化線程重寫(xiě)采樣代碼,大幅減少采樣影響優(yōu)化ack代碼優(yōu)化緩沖map性能對(duì)GC做了特別優(yōu)化 Java 比clojure更底層封仲淹(Longda Feng)Alibaba其他優(yōu)化超過(guò)100多項(xiàng)優(yōu)化 自動(dòng)清理殘留的worker任務(wù)分配算法單線程執(zhí)行,避免同一slot被分配不通worker被r
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 營(yíng)銷(xiāo)渠道管理課程設(shè)計(jì)
- 竹編研學(xué)單元課程設(shè)計(jì)
- 成本控制制度管理辦法(2篇)
- 二零二五年度智慧城市建設(shè)合伙經(jīng)營(yíng)收益分成合同3篇
- 2025年導(dǎo)購(gòu)員年終工作總結(jié)(2篇)
- 二零二五年度出租車(chē)駕駛員權(quán)益保障承包協(xié)議3篇
- 2025年綠化工作管理制度樣本(2篇)
- 課程設(shè)計(jì)坐標(biāo)圖
- 二零二五年度家庭別墅專(zhuān)業(yè)保潔外包服務(wù)協(xié)議
- 2025年學(xué)校衛(wèi)生室工作計(jì)劃例文(2篇)
- GB/T 28591-2012風(fēng)力等級(jí)
- GB/T 14864-2013實(shí)心聚乙烯絕緣柔軟射頻電纜
- 思博安根測(cè)儀熱凝牙膠尖-說(shuō)明書(shū)
- 信息學(xué)奧賽-計(jì)算機(jī)基礎(chǔ)知識(shí)(完整版)資料
- 數(shù)字信號(hào)處理(課件)
- 出院小結(jié)模板
- HITACHI (日立)存儲(chǔ)操作說(shuō)明書(shū)
- 公路自然災(zāi)害防治對(duì)策課件
- (新版教材)蘇教版二年級(jí)下冊(cè)科學(xué)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 61850基礎(chǔ)技術(shù)介紹0001
- 電鏡基本知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論