我正在使用KafkaProducer发送数据到 Storm ,当配置喷口我写了下面的代码。
spoutConfig.useStartOffsetTimeIfOffsetOutOfRange=true;
spoutConfig.startOffsetTime=kafka.api.OffsetRequest.LatestTime();
但问题是当我停止Storm应用程序(开发环境)时,Storm会丢失由生成器生成的数据。如果我用途:
spoutConfig.startOffsetTime=kafka.api.OffsetRequest.ErliestTime()
数据插入从头开始。在这里我不希望任何数据丢失,如果 Storm 下去仍然 Storm 应该采取所有的数据生产者。
1条答案
按热度按时间lf5gs5x21#
LocalClusters在每次重启时都会清除它们的状态(实际上每次都会设置一个新的Zookeeper集群)。它们用于测试,而不是生产负载。这就是为什么你的spout要重新启动的原因。