kafka connect:“任务已存在于此工作进程中”

gorkyyrv  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(707)

我看到我的连接器的状态,我有这个例外

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"}

我不知道是什么。谢谢

dwbf0jvd

dwbf0jvd1#

我们在单节点分布式连接集群(kafka的最新版本2.0.0)中看到这个问题发生过几次。我们在配置了1个任务的汇合jdbc接收器中看到了这一点。
从源头和stacktrace来看 org.apache.kafka.connect.runtime.Worker 以及 org.apache.kafka.connect.runtime.distributed.DistributedHerder 不要以相同的方式加载任务状态。不知何故,worker已经有了任务0,但是distributedherder希望(再次)添加它。
重新启动任务以及重新启动连接器对我们没有帮助。相反,在我们的例子中,重新启动connect进程解决了这个问题。

相关问题