可以将task.commit.ms设置为每1ms一次吗?

z9ju0rcb  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(422)

我有一个apachesamza项目,我有一个重复数据的问题。
这是我的检查点配置:

task.checkpoint.factory=org.apache.samza.checkpoint.kafka.KafkaCheckpointManagerFactory
task.checkpoint.system=kafka
task.checkpoint.replication.factor=2
task.commit.ms=20000

在文档中我们可以看到:
如果配置了task.checkpoint.factory,则此属性确定写入检查点的频率。该值是检查点之间的时间,以毫秒为单位。检查点的频率会影响故障恢复:如果容器意外失败(例如,由于崩溃或机器故障)并重新启动,它将在最后一个检查点恢复处理。将再次处理自失败容器上的最后一个检查点之后处理的所有消息。更频繁地检查点可以减少可能被处理两次的消息数量,但也会使用更多的资源。
我能换衣服吗 task.commit.ms=20000 到250ms或1ms。是好还是坏?我有一个很好的集群。
为什么我需要改变这个,因为这个samza(工人)每周会崩溃1-3次。现在的临时解决方案是每次提交偏移量。
文件参考:
阿帕切·桑扎
apache samza配置

v6ylcynt

v6ylcynt1#

我知道这不是解决所有问题的办法。这是改变 task.commit.ms 对同一件事 task.shutdown.ms=5000 .
atlas samza配置关闭

相关问题