【问题标题】:Kafka Connect : "Task already exists in this worker"Kafka Connect:“此工作人员中已存在任务”
【发布时间】:2019-02-08 10:23:06
【问题描述】:

我看到我的连接器的状态,我有这个异常

org.apache.kafka.connect.errors.ConnectException: Task already exists in this worker: *name of the connector*
        at org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:365)
        at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:857)
        at org.apache.kafka.connect.runtime.distributed.DistributedHerder.access$1600(DistributedHerder.java:109)
        at org.apache.kafka.connect.runtime.distributed.DistributedHerder$13.call(DistributedHerder.java:871)
        at org.apache.kafka.connect.runtime.distributed.DistributedHerder$13.call(DistributedHerder.java:867)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

当我执行curl -s ip:8081/connectors/name of connector/tasks 命令查看连接器的任务列表时,我有这个结果

{"error_code":404,"message":"HTTP 404 Not Found"}

我不知道它是什么。谢谢

【问题讨论】:

  • curl -X Get -H "Content-Type: application/json" ip:8081/connectors/name of connector/tasks 返回什么?

标签: apache-kafka apache-kafka-connect


【解决方案1】:

我们在单节点分布式连接集群(Kafka 的最新版本 2.0.0)中多次看到此问题。我们在配置了 1 个任务的 Confluent JDBC Sink 中看到了这一点。

查看源代码 - 和堆栈跟踪 - 似乎 org.apache.kafka.connect.runtime.Workerorg.apache.kafka.connect.runtime.distributed.DistributedHerder 不会以相同的方式加载任务状态。不知何故,Worker 已经有了任务 0,但 DistributedHerder 想要(再次)添加它。

重新启动任务以及重新启动连接器对我们没有帮助。相反,在我们的案例中,重新启动 Connect 进程解决了它。

【讨论】:

  • 重启 Kafka Connect 对我不起作用。有什么想法吗?
  • 你找到解决办法了吗?
猜你喜欢
  • 1970-01-01
  • 2020-02-26
  • 2017-10-03
  • 2021-12-26
  • 2021-04-25
  • 2019-11-26
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
相关资源
最近更新 更多