基于Storm的數據實時處理系統(tǒng)任務調度機制研究
發(fā)布時間:2020-08-20 17:49
【摘要】:由于分散的各個天文臺源源不斷地產生天文觀測數據,為了方便檢索,要求天文元數據的處理系統(tǒng)必須具備很高的實時性,而傳統(tǒng)的批處理大數據平臺需要將數據下載存儲后再處理,因此難以滿足系統(tǒng)的高實時性要求。Storm作為一個分布式流數據實時處理框架,能夠保證大流量數據處理的時效性,因此本文考慮將其應用到天文元數據處理系統(tǒng)中,以實現數據流的實時接收與處理。通過分析發(fā)現影響Storm系統(tǒng)性能的核心問題之一是系統(tǒng)任務調度機制。目前Storm系統(tǒng)使用的默認調度機制為簡單的輪詢機制,雖然能夠實現一定的負載均衡,但是針對天文元數據實時處理更復雜的任務需求,將產生較大的系統(tǒng)性能瓶頸。針對Storm系統(tǒng)調度問題,本文主要從兩個部分共同實現優(yōu)化:第一個方面是增加系統(tǒng)彈性機制以提高系統(tǒng)的資源利用;第二個部分是通過優(yōu)化任務部署來減小系統(tǒng)的通信開銷。首先,針對Storm系統(tǒng)彈性機制缺失問題,論文提出在系統(tǒng)中嵌入一個實時的自適應彈性機制模塊,通過不斷獲取系統(tǒng)運行的狀態(tài)信息,根據信息做出相對應的調度決策,動態(tài)的為每個Topology應用配置合理的計算資源,使系統(tǒng)的資源可以得到更充分的利用;然后,針對目前任務部署不合理而造成系統(tǒng)通信開銷過大的問題,論文提出了一種基于圖劃分技術的任務部署調度優(yōu)化方法。具體做法是將運行中的Topology計算應用看作一張帶權重的圖,然后利用圖劃分技術來對這張圖進行處理,得到一個合理的任務部署優(yōu)化調度方案。調度方案在保證負載均衡的條件下,可以有效地減小系統(tǒng)的通信開銷。最后將調度方案提交給系統(tǒng)實施調度,實現減少系統(tǒng)處理時延,提高系統(tǒng)吞吐量的目標。論文對提出的調度優(yōu)化方案進行了實現并搭建了實驗環(huán)境,對系統(tǒng)的功能及性能進行了全面測試。試驗結果表明,論文設計的調度優(yōu)化方案能夠在資源利用,系統(tǒng)處理時延以及吞吐量方面實現性能的提升。該調度方案的研究與實現,有效提升了Storm系統(tǒng)的性能,為天文元數據的實時處理提供了關鍵技術支撐。
【學位授予單位】:重慶郵電大學
【學位級別】:碩士
【學位授予年份】:2018
【分類號】:TP274;O157.5;P11
【圖文】:
圖 2.1 Storm 系統(tǒng)框架圖節(jié)點被稱為 Worker Node,也被稱為工作節(jié)點,在這些工作節(jié)點當中叫 Supervisor 的程序。Supervisor 可以理解為單機任務調度器,它負bus 程序發(fā)出的任務調度,然后啟動相應的 Worker 進程對 Nimbus 分進行計算處理。同時,它也會監(jiān)測由自身啟動的 Worker 進程的運行現有 Worker 進程處于非正常狀態(tài),就會 Kill 掉這個 Worker 進程,給該 Worker 進程的任務交還給 Nimbus,進行一個重新分配。Supe著一個主線程和三個副線程,如圖 2.2 所示:
圖 2.1 Storm 系統(tǒng)框架圖節(jié)點被稱為 Worker Node,也被稱為工作節(jié)點,在這些工作節(jié)點當中叫 Supervisor 的程序。Supervisor 可以理解為單機任務調度器,它負bus 程序發(fā)出的任務調度,然后啟動相應的 Worker 進程對 Nimbus 分進行計算處理。同時,它也會監(jiān)測由自身啟動的 Worker 進程的運行現有 Worker 進程處于非正常狀態(tài),就會 Kill 掉這個 Worker 進程,給該 Worker 進程的任務交還給 Nimbus,進行一個重新分配。Supe著一個主線程和三個副線程,如圖 2.2 所示:
/storm/workerbeats/<topology-id>/node-port計信息。/storm/storms/<topology-id>存儲 Topology 計算應用的名字、運行狀態(tài)、并行度設置、啟動時間等信息。在運行過程中,這里的數據是不會變化的。/storm/assignments/<topology-id>存儲了Nimbus進程為每個Topology計算應用所分配的任務信息。主要包括 Supervisor 與主機名的映射關系、工作線程的啟動時間等。/storm/supervisor/<supervisor-id>存儲了 Supervisor 所在節(jié)點的更新時間、主機名、supervisor-id、已經使用的 slot 列表等運行統(tǒng)計信息/storm/errors/<topology-id>/<component-id>/<sequential-id>記錄了運行過程中,每個組件發(fā)生錯誤的信息。但是每個組件只會保存最近的 10 條錯誤信息。
本文編號:2798259
【學位授予單位】:重慶郵電大學
【學位級別】:碩士
【學位授予年份】:2018
【分類號】:TP274;O157.5;P11
【圖文】:
圖 2.1 Storm 系統(tǒng)框架圖節(jié)點被稱為 Worker Node,也被稱為工作節(jié)點,在這些工作節(jié)點當中叫 Supervisor 的程序。Supervisor 可以理解為單機任務調度器,它負bus 程序發(fā)出的任務調度,然后啟動相應的 Worker 進程對 Nimbus 分進行計算處理。同時,它也會監(jiān)測由自身啟動的 Worker 進程的運行現有 Worker 進程處于非正常狀態(tài),就會 Kill 掉這個 Worker 進程,給該 Worker 進程的任務交還給 Nimbus,進行一個重新分配。Supe著一個主線程和三個副線程,如圖 2.2 所示:
圖 2.1 Storm 系統(tǒng)框架圖節(jié)點被稱為 Worker Node,也被稱為工作節(jié)點,在這些工作節(jié)點當中叫 Supervisor 的程序。Supervisor 可以理解為單機任務調度器,它負bus 程序發(fā)出的任務調度,然后啟動相應的 Worker 進程對 Nimbus 分進行計算處理。同時,它也會監(jiān)測由自身啟動的 Worker 進程的運行現有 Worker 進程處于非正常狀態(tài),就會 Kill 掉這個 Worker 進程,給該 Worker 進程的任務交還給 Nimbus,進行一個重新分配。Supe著一個主線程和三個副線程,如圖 2.2 所示:
/storm/workerbeats/<topology-id>/node-port計信息。/storm/storms/<topology-id>存儲 Topology 計算應用的名字、運行狀態(tài)、并行度設置、啟動時間等信息。在運行過程中,這里的數據是不會變化的。/storm/assignments/<topology-id>存儲了Nimbus進程為每個Topology計算應用所分配的任務信息。主要包括 Supervisor 與主機名的映射關系、工作線程的啟動時間等。/storm/supervisor/<supervisor-id>存儲了 Supervisor 所在節(jié)點的更新時間、主機名、supervisor-id、已經使用的 slot 列表等運行統(tǒng)計信息/storm/errors/<topology-id>/<component-id>/<sequential-id>記錄了運行過程中,每個組件發(fā)生錯誤的信息。但是每個組件只會保存最近的 10 條錯誤信息。
【參考文獻】
相關期刊論文 前2條
1 彭宇;龐景月;劉大同;彭喜元;;大數據:內涵、技術體系與展望[J];電子測量與儀器學報;2015年04期
2 崔星燦;禹曉輝;劉洋;呂朝陽;;分布式流處理技術綜述[J];計算機研究與發(fā)展;2015年02期
本文編號:2798259
本文鏈接:http://sikaile.net/kejilunwen/yysx/2798259.html