ElasticsearchSinkConnector не может подключиться к Elastic - PullRequest
0 голосов
/ 13 июня 2019

Используя образ kafka-lenses-dev , я столкнулся с проблемами при подключении Kafka к локальному экземпляру Elasticsearch 7.1.1. Как видите, в соединении отказано, хотя экземпляр запущен и работает, и есть возможность свернуть документы. Является ли версия Elastic проблематичной для коннектора или конфигурация неверна?

Config

connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
type.name=kafka-connect
key.converter.schemas.enable=false
topics=cc_data
name=elastic-sink
value.converter.schemas.enable=false
connection.url=http://localhost:9200
key.ignore=true

Error

org.apache.kafka.connect.errors.ConnectException: Couldn't start ElasticsearchSinkTask due to connection error:
    at io.confluent.connect.elasticsearch.jest.JestElasticsearchClient.<init>(JestElasticsearchClient.java:147)
    at io.confluent.connect.elasticsearch.jest.JestElasticsearchClient.<init>(JestElasticsearchClient.java:114)
    at io.confluent.connect.elasticsearch.ElasticsearchSinkTask.start(ElasticsearchSinkTask.java:120)
...
Caused by: io.searchbox.client.config.exception.CouldNotConnectException: Could not connect to http://localhost:9200
    at io.searchbox.client.http.JestHttpClient.execute(JestHttpClient.java:60)
    at io.confluent.connect.elasticsearch.jest.JestElasticsearchClient.getServerVersion(JestElasticsearchClient.java:168)
    at io.confluent.connect.elasticsearch.jest.JestElasticsearchClient.<init>(JestElasticsearchClient.java:145)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:9200 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
...
Caused by: java.net.ConnectException: Connection refused (Connection refused)
...

1 Ответ

1 голос
/ 13 июня 2019

Вы указали Elasticsearch как localhost:9200. Если Elasticsearch не запускает в том же контейнере, что и Kafka Connect , то это имя хоста неверно. Вам необходимо указать имя хоста Elasticsearch в форме, доступной из того места, где работает Kafka Connect.

В качестве примера вы можете увидеть пример того, как настроить это на основе этого Docker Compose здесь .

...