日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Storm精华问答 | 为什么这么多人用Spark而不用Storm?

發布時間:2024/9/27 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Storm精华问答 | 为什么这么多人用Spark而不用Storm? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

戳藍字“CSDN云計算”關注我們哦!


Storm被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,以及大數據實時處理解決方案的應用日趨廣泛,目前已是分布式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。


1
















Q:為什么這么多人用Spark而不用Storm?


A:Storm和Spark Streaming都是分布式流處理的開源框架。區別如下:

1、處理延時和吞吐量

Storm處理的是每次傳入的一個事件,Spark Streaming是處理某個時間段窗口內的事件流,Storm處理一個事件可以達到秒內的延遲,而Spark Streaming則有幾秒鐘的延遲。因此,Spark Streaming比Storm的延時更長,但是吞吐量比Storm大。

2、容錯、數據保證

Spark Streaming在容錯方面提供了對狀態計算的更好的支持。在Storm中,任一條單獨的記錄在經過系統時必須可以被追蹤到,所以Storm僅保證所有記錄都會至少處理一次,但是從錯誤中恢復過來時允許出現重復記錄。這意味著可變狀態有可能被錯誤的更新兩次。

3、支持的API

Storm(由Closure語言開發的)支持JAVA編程,Spark支持Scala編程,也支持java開發。

如果需要秒內的延遲,Storm是一個不錯的選擇,而且沒有數據丟失。如果需要有狀態的計算,而且要完全保證每個事件只被處理一次,Spark Streaming則更好。Spark Streaming編程邏輯也可能更容易,因為它類似于批處理程序(Hadoop),特別是在你使用批次(盡管是很小的)時。


2

Q:在一臺機器上安裝Storm客戶端,這臺客戶端會變成一臺Supervisor嗎? 客戶端與Storm集群是什么關系?因為看yaml配置里只配了nimbus,而沒有說明哪臺是Supervisor,是不是就是默認有這樣配置的都是Supervisor呢?


A:yaml是Storm配置,除去配置的nimbus角色,所有機器,只要選擇啟動supervisor,就可以作為supervisor,安裝客戶端成功后,角色是根據是否啟動角色選項決定的。


3

Q:這兩天一直在玩storm,在本地運行起來了,可是一旦切換到集群環境,所有的寫操作都無法完成,無論是通過socket還是文件讀寫還是數據庫讀寫,到最后提交到集群后,運行起來都會出現

filename not matched: resources/** kill 10936: 沒有那個進程

這樣的錯誤,我知道提交到集群環境后由于寫操作不在一個節點上了,所以難免會出現問題,那么,Storm最后的數據應該怎樣保存下來呢?


A:Storm數據保存有很多種方式,可以保存MySQL,保存HBase都可以;這個需要自己編寫bolt來做實現;或者通過相關的插件做實現。


4

Q:Storm啟動出現錯誤,錯誤描述為:org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts ["192.168.226.13"]. Did you specify a valid list of nimbus hosts for config nimbus.seeds?

這如何解決?


A:出現這種錯誤有兩種情況:

第一種情況:在storm的配置文件中配置一下nimbus.seeds: ["localhost"]。(如果確保這個配置沒有問題,可以進行第二種情況的修改了)。

第二種情況:在zookeeper中找到/storm節點,使用rmr將storm節點刪除,即可恢復正常。


5

Q:Storm 怎么處理重復的tuple?


A:因為Storm 要保證tuple 的可靠處理,當tuple 處理失敗或者超時的時候,spout 會fail并重新發送該tuple,那么就會有tuple 重復計算的問題。這個問題是很難解決的,storm也沒有提供機制幫助你解決。不過也有一些可行的策略:

(1)不處理,這也算是種策略。因為實時計算通常并不要求很高的精確度,后

續的批處理計算會更正實時計算的誤差。

(2)使用第三方集中存儲來過濾,比如利用MySQL、MemCached 或者Redis 根據邏輯主鍵來去重。

(3)使用bloom filter 做過濾,簡單高效。


---------------- ?? --------------

小伙伴們沖鴨,后臺留言區等著你!

關于Storm,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……

同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~


---------------- ?? --------------


1.微信群:

添加小編微信:color_ld,備注“進群+姓名+公司職位”即可,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!


2.征稿:

投稿郵箱:liudan@csdn.net;微信號:color_ld。請備注投稿+姓名+公司職位。


推薦閱讀

  • Gartner的預言:通向混合IT之旅

  • 崩潰!新浪程序員加班錯失 77 萬年會大獎

  • 剛剛!華為又被美國盯上了!

  • 阿里“菜鳥”AI?

  • 以太坊升級的拖油瓶,竟只是這幾行代碼

  • 程序員有話說 | 程序猿在乘地鐵的時候都在想什么?

  • 清華北大“世界排名斷崖式下跌”?


點擊“閱讀原文”,打開 CSDN App 閱讀更貼心!


喜歡就點擊“好看”吧!

總結

以上是生活随笔為你收集整理的Storm精华问答 | 为什么这么多人用Spark而不用Storm?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。