Kir*_*var 3 apache apache-storm
在我们的Storm 1.0.2应用程序中,我们面临着内存不足的异常。在调试时,我们看到Kafka喷嘴向螺栓发送了太多消息。螺栓的运转能力接近4.0。因此,有一种方法可以在暴风雨中启用背压,从而使喷口根据螺栓的容量而发射。尝试将topology.backpressure.enable设置为true,但是遇到了此问题https://issues.apache.org/jira/browse/STORM-1949。我们使用KafkaSpout的开箱即用实现并为我们的螺栓扩展BaseRichBolt。我们的DAG是线性的。
您可以通过在拓扑配置中设置maxSpoutPending值来处理KafkaSpout的背压,
Config config = new Config();
config.setMaxSpoutPending(200);
config.setMessageTimeoutSecs(100);
StormSubmitter.submitTopology("testtopology", config, builder.createTopology());
Run Code Online (Sandbox Code Playgroud)
maxSpoutPending是给定时间拓扑中可以挂起确认的元组数。设置此属性将使KafkaSpout不再使用来自Kafka的更多数据,除非未确认的元组计数小于maxSpoutPending值。
| 归档时间: |
|
| 查看次数: |
1491 次 |
| 最近记录: |