2017-05-05 7 views
3

Confluent Platform 3.2를 사용하고 있습니다. 3 개의 다른 EC2 기계에서 3 명의 작업자를 실행합니다.일관되지 않은 커넥터 상태 : ConnectException :이 작업자에 이미 작업이 있습니다.

나는 몇 분 후에 삭제하고 다시 시작한 커넥터 (debezium/MySQL 소스)가 있습니다. 그러나 아래 오류로 인해 성공적으로 커넥터를 시작할 수 없었습니다. 커넥터가 실패한 상태입니다. 나는이 문제를 해결하기 위해 노동자들을 다시 시작해야했다.

캐싱에 문제가 있는지 여부를 알아야합니까? 작업자를 다시 시작하지 않고이 문제를 해결하는 방법. 모든 지원을 부탁드립니다.

{ 
    "name": "debezium-connector", 
    "connector": { 
     "state": "RUNNING", 
     "worker_id": "xx.xx.xx.xxx:8083" 
    }, 
    "tasks": [ 
     { 
     "state": "FAILED", 
     "trace": "org.apache.kafka.connect.errors.ConnectException: Task already exists in this worker: debezium-connector-0\n\tat org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:308)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:834)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder.access$1500(DistributedHerder.java:101)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder$13.call(DistributedHerder.java:848)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder$13.call(DistributedHerder.java:844)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat java.lang.Thread.run(Thread.java:745)\n", 
     "id": 0, 
     "worker_id": "xx.xx.xx.xxx:8083" 
     } 
    ] 
} 
+0

다른 커넥터와 동일한 문제가 있습니다. – eddyP23

답변

1

흠. 나는 동일한 오류가 있었는데 카프카 서버 중 하나에 디스크 공간이 부족하여 카프카 클러스터가 제대로 작동하지 않는 것으로 나타났습니다. 여기에 모든 세부 사항을 알지는 못하지만 Connect가 Kafka의 커넥터 및 작업에 대한 정보를 저장하고 있으며 제대로 응답하지 않으면 Kafka는 이전 작업에 대한 정보를 가질 수 있습니다.

누구에게나 도움이되는 경우 공유.

편집 : 나는 또한 this issue가 사용할 수없는 상태로 전체 클러스터를 가져, 때때로 나의 카프카 노드에 발생하는 것을 발견

. 문제가있는 노드를 다시 시작하면 문제가 해결됩니다.