【问题标题】:How to properly restart a kafka s3 sink connect?如何正确重启kafka s3 sink connect?
【发布时间】:2018-10-20 14:21:44
【问题描述】:

我从 5 月 1 日开始使用 kafka s3 sink 连接器(confluent 包中的捆绑连接器)。它工作正常,直到 5 月 8 日。检查状态,它告诉某些 aws 异常使此连接器崩溃。这应该不是什么大问题,所以我想恢复它。

我尝试了以下步骤:

  1. 我发布 /connectors/s3sink/restart 。然后我看到连接器处于 RUNNING 模式,但任务仍然失败。
  2. 然后我 PUT /connectors/s3sink/task/0/restart。好的,现在任务处于 RUNNING 模式。

但是后来我跟踪日志,我发现它开始重写旧数据,比如5月3日的数据。它弄乱了旧数据!

那么,connect restart REST API 是否会重置偏移量?我以为它会保存偏移量,然后从失败的偏移量开始。

以及如何正确重启失败的连接器任务?通过删除那些 POD? (使用 kubernetes),还是通过 REST /task/0/restart?我应该什么时候使用 /connectors/s3sink/restart?

【问题讨论】:

    标签: amazon-s3 apache-kafka apache-kafka-connect confluent-platform


    【解决方案1】:

    /connector/:name/restart 是对工作领导者的滚动重启操作,需要以异步方式传播到所有工作服务器任务。因此,您需要确保领导工作人员与所有其他工作人员之间的网络连接。

    /connector/:name/task/:num/restart 将直接向该工作人员发送请求,重新启动线程。

    重新启动不应重置偏移量,因为它们存储在consumer offsets topic for that connect cluster 中。如果有的话,这些任务无法将偏移量提交回__consumer_offsets 主题,但您应该会看到相关日志。

    【讨论】:

    • 谢谢,原因是偏移保留时间,我一天后重启
    • 不确定你的意思。我目前正在管理数十个 S3 连接,并保留一周的主题,并且不需要经常重新启动(除非我们遇到错误)
    • 在我们的例子中,您回答中的第二个命令是抛出 404。可能是什么问题?并且重新启动任务与重新启动连接器进程相同还是单独的事情?如果分开,请告诉我们如何重新启动连接器进程。谢谢! @OneCricketeer
    • @Cyber​​ 您实际上是否为任务值传递了一个数字?通过重新启动进程(例如,使用 systemctl restart)在主机上重新启动进程,这将停止主机上的所有任务,而不仅仅是特定的连接器
    • @OneCricketeer 感谢您的回复。实际上,我们无权访问主机。而宿主其实是kubernetes上的一个pod。但我们明白你的意思。我们会这样做的。谢谢!
    猜你喜欢
    • 2018-06-16
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2017-06-08
    • 1970-01-01
    • 2019-12-02
    • 2022-05-31
    相关资源
    最近更新 更多