kafka和storm集成_Storm和Kafka集成的重要生产错误和修复

kafka和storm集成

我将在此处描述StormKafka集成模块的一些细节,一些您应该意识到的重要错误以及如何克服其中的一些错误(尤其是对于生产安装)。

我在生产安装中大量使用Apache Storm,并将Kafka作为主要输入源(Spout)。

使用Kafka和版本的Storm集成模块:

最近,我将Storm 1.0.3 (从0.9.6)升级到Kafka 0.9.0.1 (从0.8.2.2)。
不幸的是,Storm 1.0.3有两个主要的错误 ,您必须解决这些错误才能在生产环境中使用它。

主要错误(与Kafka相关):

  1. “如果在运行元组时重新分配分区,则新的Kafka喷嘴会崩溃[ JIRA-2104 ]在1.0.x分支中已解决( Pull-1980
  2. “ Storm-kafka-client:不总是重放失败的元组” [ JIRA-2087 ]在1.x分支中已解决( Pull-1826

当开始从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集成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值