kafka和storm集成_Storm和Kafka集成的重要生产错误和修复
kafka和storm集成
我將在此處描述Storm和Kafka集成模塊的一些細節,一些您應該意識到的重要錯誤以及如何克服其中的一些錯誤(尤其是對于生產安裝)。
我在生產安裝中大量使用Apache Storm,并將Kafka作為主要輸入源(Spout)。
使用Kafka和版本的Storm集成模塊:
- Storm 0.x通過現有模塊storm-kafka支持Kafka 0.8.x
- Storm 1.0.x通過新模塊storm-kafka-client支持Kafka 0.9.x
- Storm 1.x通過新模塊storm-kafka-client支持Kafka 0.10.x
最近,我將Storm 1.0.3 (從0.9.6)升級到Kafka 0.9.0.1 (從0.8.2.2)。
不幸的是,Storm 1.0.3有兩個主要的錯誤 ,您必須解決這些錯誤才能在生產環境中使用它。
主要錯誤(與Kafka相關):
當開始從Storm 0.9.6到1.0.3的遷移過程時,我遇到了上述錯誤。 在強調我的拓撲時,各種事情開始不起作用,或者看到停滯不前的Workers停止處理數據。
在閱讀了許多日志并進行了許多測試之后,我們終于了解了該問題(KafkaSpout錯誤)。 我們暫停了遷移過程,并希望解決這些問題。
幸運的是,Storm提交者已經修復了這些錯誤,因此已經提供了解決方案。 非常感謝Storm社區!!!
為了解決這些問題,我將這兩個修復程序移植到了“ storm-kafka-client ”的派生版本中,并發布了具有新maven版本( 1.0.3- <custom> 1.0 )的新自定義模塊。 然后,我僅在項目中引用新的自定義版本。
之后,我們再次開始壓力測試,一切都按預期進行。
請注意,錯誤“ 2087”僅在1.x分支中已修復,但將其移植到1.0.3版本非常容易。
幸運的是,幾天前發布了Storm 1.1.0 。 此版本已經修復了這些錯誤以及許多其他錯誤。 我尚未進行測試,但是我會盡快嘗試。
當我將這些修復移植回1.0.3版本時,沒有Storm 1.1.0版本。
如果您打算使用Storm 1.0.3發行版,則必須注意該發行版的一些其他錯誤,您可能需要在“ custom ”發行版中對其進行修復:
- “ Kafka中斷可能導致拓撲鎖定” [ STORM-2440 ] [ FIX ]
- “ ReportErrorAndDie并不總是消亡” [ STORM-2194 ] [ 修復 ]
- “在捕獲InterruptedException后,Utils.sleep方法未設置中斷標志” [ STORM-2396 ] [ 修復 ]
- “即使topology.eventlogger.executors = 0,事件記錄器螺栓也會實例化” [ STORM-2389 ] [ 修復 ]
- “故障恢復Blob刪除在BlobSynchronizer.syncBlobs中也失敗” [ STORM-2386 ] [ FIX ](與Nimbus HA有關)
- “ Storm-HDFS的listFilesByModificationTime已損壞” [ STORM-2350 ] [ 修復 ]
- “ ReadClusterState的ProfileAction處理映射中的類型不匹配” [ STORM-2345 ] [ FIX ]
上述大多數錯誤(2440和2194除外)已在Storm 1.1.0版本中解決。 新版本包含您可能感興趣的新功能(流式SQL,Druid和OpenTSB集成等)。
最好的祝福,
阿德里安斯·達迪斯(Adrianos Dadis)。
真正的民主需要免費軟件
翻譯自: https://www.javacodegeeks.com/2017/04/important-production-bugs-fixes-storm-kafka-integration.html
kafka和storm集成
總結
以上是生活随笔為你收集整理的kafka和storm集成_Storm和Kafka集成的重要生产错误和修复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (ddos破坏计算机系统犯罪)
- 下一篇: unsafe jdk9_JDK 9清单: