Не удалось подключиться и описать кластер Kafka. Проверьте подключение брокера и свойства безопасности - PullRequest
2 голосов
/ 08 марта 2019

Установлено:

kafka_2.11-2.1.0 and zookeeper-3.4.13

Пробег:

bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties

Запустить соединитель:

bin/connect-distributed.sh config/connect-distributed.properties

Выполненная:

echo '{"name":"load-kafka-config", "config":{"connector.class":"FileStream-
    Source","file":"config/server.properties","topic":"kafka-config-topic"}}' |
    curl -X POST -d @- http://localhost:8083/connectors --header "content-
    Type:application/json"

curl: (7) Failed to connect to localhost port 8083: Connection refused

Выходной разъем:

    [2019-03-08 13:04:43,839] INFO Kafka version : 2.1.0 (org.apache.kafka.common.utils.AppInfoParser:109)
[2019-03-08 13:04:43,839] INFO Kafka commitId : 809be928f1ae004e (org.apache.kafka.common.utils.AppInfoParser:110)
[2019-03-08 13:06:43,854] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed:117)
org.apache.kafka.connect.errors.ConnectException: Failed to connect to and describe Kafka cluster. Check worker's broker connection and security properties.
    at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:64)
    at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:45)
    at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:78)
Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
    at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
    at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
    at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
    at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:262)
    at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:58)
    ... 2 more
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.

Как настроить загрузку Kafka по умолчанию , чтобы избежать ошибки и запустить Соединитель в распределенном режиме, а также заставить интерфейс REST принимать команды?

Я использую конфигурации по умолчанию для Connect:

bootstrap.servers=localhost:9092

group.id=connect-cluster

key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter.schemas.enable=true

offset.storage.topic=connect-offsets
offset.storage.replication.factor=1

config.storage.topic=connect-configs
config.storage.replication.factor=1

status.storage.topic=connect-status
status.storage.replication.factor=1

offset.flush.interval.ms=10000

Все файлы: https://bitbucket.org/powder366/kafka_problem/src/master/

1 Ответ

1 голос
/ 09 марта 2019

Проблема заключалась в том, что localhost не был включен в конфигурацию по умолчанию:

listeners=PLAINTEXT://localhost:9093

Также были приняты файлы для работы в соответствии с (автономный, распределенный, мультиброкерский):

Демо: https://kafka.apache.org/quickstart

Новые файлы: https://bitbucket.org/powder366/kafka_working/src/master/

...