本篇內容介紹了“Storm面試題有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
站在用戶的角度思考問題,與客戶深入溝通,找到汝城網站設計與汝城網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都做網站、企業官網、英文網站、手機端網站、網站推廣、空間域名、虛擬主機、企業郵箱。業務覆蓋汝城地區。
一、架構
1、Nimbus
負責資源分配和任務調度。新版本中的 nimbus 節點可以有多個做主備。
2、Zookeeper
協調集群,公共數據的存放(如心跳數據,集群的狀態和配置信息),nimbus 將分配給 Supervisor 的任務寫入到 Zookeeper
3、supervisor
負責接受 nimbus 分配的任務,啟動和停止屬于自己管理的 worker進程。
4、worker
運行具體處理組件邏輯的進程。worker 中每一個 spout/bolt 的線程稱為一個task. 在 storm0.8 之后,task 不再與物理線程對應,同一個 spout/bolt 的 task 可能會共享一個物理線程,該線程稱為 executor。最新版本的 Jstorm 已經廢除了 task 的概念
二、編程模型
1、Spout
Spout 是接受外部數據源的組件,將外部數據源轉化成 Storm 內部的數據, 以 Tuple 為基本的傳輸單元下發給 Bolt。(Tuple 是 Storm 內部中數據傳輸的基本單元,里面封裝了一個 List 對象,用來保存數據。)
2、Bolt
Bolt 是接受 Spout 發送的數據,或上游的 bolt 的發送的數據。根據業務邏輯進行處理。發送給下一個 Bolt 或者是存儲到某種介質上。介質可以是 MongoDB 或 MySQL,或者其他。
3、并行度
Worker:表示一個進程
Executor:表示由 worker 啟動的線程
Task:實際執行數據處理的最小工作單元(注意,task 并不是線程)
并行度的設置:評估上游 kafka 每秒生產的數據量,分析 topic 每個 partition
每秒的數據量,partition 的數據量=SpoutTask 接受數據量SpoutTask 數量=partition 的數量
Worker 的設置:如果數據量大,worker 的數量等于 spouttask 的數量
4、消息不丟失
ack 機制即, spout 發送的每一條消息,
l在規定的時間內,spout 收到 Acker 的 ack 響應,即認為該 tuple 被后
l
續 bolt 成功處理
l在規定的時間內,沒有收到 Acker 的 ack 響應 tuple,就觸發 fail 動作, 即認為該 tuple 處理失敗,
l或者收到 Acker 發送的 fail 響應 tuple,也認為失敗,觸發 fail 動作。通過 Ack 機制,spout 發送出去的每一條消息,都可以確定是被成功處理或失敗處理, 從而可以讓開發者采取動作。比如在 Meta 中,成功被處理,即可更新偏移量,當失敗時,重復發送數據。因此,通過 Ack 機制,很容易做到保證所有數據均被處理,一條都不漏。
“Storm面試題有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
文章名稱:Storm面試題有哪些
轉載注明:http://vcdvsql.cn/article28/iijijp.html
成都網站建設公司_創新互聯,為您提供企業建站、虛擬主機、網站收錄、網站策劃、Google、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯