我看到我的连接器的状态,我有这个例外
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"}
我不知道是什么。谢谢
1条答案
按热度按时间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进程解决了这个问题。