org.apache.kafka.connect.errors.ConnectException:超过最大重试次数。主题'my_topic'分区0,偏移量12345:Elasticsearch集群不可用
org.apache.kafka.connect.errors.ConnectException: Exceeded max number of retries. Topic 'my_topic' partition 0, offset 12345: Elasticsearch cluster unavailable
ID: kafka/elasticsearch-sink-connector-backoff
根因分析
Kafka Connect Elasticsearch sink连接器因Elasticsearch集群不可达或过载而耗尽重试次数,导致任务失败。
English
Kafka Connect Elasticsearch sink connector exhausted retries due to Elasticsearch cluster being unreachable or overloaded, causing task failure.
官方文档
https://docs.confluent.io/kafka-connect-elasticsearch/current/index.html解决方案
-
Check Elasticsearch cluster health and restart it if necessary. Use `curl -X GET 'localhost:9200/_cluster/health?pretty'` to verify status.
-
Increase 'retry.backoff.ms' in connector config to a higher value (e.g., 10000 ms) and ensure 'max.retries' is reasonable (e.g., 10). This gives Elasticsearch more time to recover.
-
If Elasticsearch is temporarily down, pause the connector using `curl -X PUT 'http://localhost:8083/connectors/my-connector/pause'` and resume after restoring Elasticsearch.
无效尝试
常见但无效的做法:
-
60% 失败
This only delays failure; if Elasticsearch is truly down, retries will eventually exhaust and the connector will still fail, potentially filling logs.
-
90% 失败
The underlying Elasticsearch connectivity issue persists, so the new connector will encounter the same error.
-
70% 失败
The issue is not load but connectivity; reducing tasks doesn't fix the Elasticsearch unavailability.