confluent docker cp-kafka-connect 4.0.0 - тайм-аут HTTP500 и COORDINATOR_NOT_AVAILABLE

Я использую свою текущую инфраструктуру, используя объединенные образы докеров с версией 3.3.1, и все работает нормально. Теперь я пытаюсь настроить среду песочницы с версией 4.0.0, но у меня возникают проблемы.

У меня проблемы с запуском cp-kafka-connect (v4.0.0) в образ докера, предоставленный confluent.

Детали инфраструктуры: я использую docker image cp-kafka: 4.0.0, а также для zookeeper, и все мои приложения для потоков / потребителей / производителей, которые у меня есть в инфраструктуре, работают просто идеально. Просто cp-kafka-connect: 4.0.0 не работает. kafka работает с активным автоматическим созданием тем.

Я запустил контейнер подключения с этими переменными env:

-e CONNECT_BOOTSTRAP_SERVERS=kafka1.kafka:9092,kafka2.kafka:9092,kafka3.kafka:9092
-e CONNECT_GROUP_ID=connect-03
-e CONNECT_CONFIG_STORAGE_TOPIC=connect03-config
-e CONNECT_OFFSET_STORAGE_TOPIC=connect03-offsets
-e CONNECT_STATUS_STORAGE_TOPIC=connect03-status
-e CONNECT_KEY_CONVERTER=org.apache.kafka.connect.storage.StringConverter
-e CONNECT_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
-e CONNECT_INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
-e CONNECT_INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
-e CONNECT_REST_ADVERTISED_HOST_NAME=kafka-connect-03.kafka
-e CONNECT_REST_PORT=8083
-e CONNECT_LOG4J_ROOT_LOGLEVEL=TRACE
-e CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE=false
-e CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE=false
-e CONNECT_INTERNAL_KEY_CONVERTER_SCHEMAS_ENABLE=false
-e CONNECT_INTERNAL_VALUE_CONVERTER_SCHEMAS_ENABLE=false

однако, когда я выполняю вызов REST:

curl -X GET http://kafka-connect-03.kafka/connectors/ -H 'cache-control: no-cache' -H 'content-type: application/json'

Через несколько минут я получаю сообщение об ошибке тайм-аута HTTP 500.

Я вижу это (обратите внимание: это сообщение печатается независимо от вызова cUrl и печатается навсегда):

    [2017-12-31 17:55:40,099] DEBUG [Consumer clientId=consumer-1, groupId=connect03] Sending GroupCoordinator request to broker kafka3.kafka:9092 (id: 1009 rack: null) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)
[2017-12-31 17:55:40,099] TRACE [Consumer clientId=consumer-1, groupId=connect03] Sending FIND_COORDINATOR {coordinator_key=connect03,coordinator_type=0} with correlation id 3098 to node 1009 (org.apache.kafka.clients.NetworkClient)
[2017-12-31 17:55:40,100] TRACE [Consumer clientId=consumer-1, groupId=connect03] Completed receive from node 1009 for FIND_COORDINATOR with correlation id 3098, received {throttle_time_ms=0,error_code=15,error_message=null,coordinator={node_id=-1,host=,port=-1}} (org.apache.kafka.clients.NetworkClient)
[2017-12-31 17:55:40,100] DEBUG [Consumer clientId=consumer-1, groupId=connect03] Received GroupCoordinator response ClientResponse(receivedTimeMs=1514742940100, latencyMs=1, disconnected=false, requestHeader=RequestHeader(apiKey=FIND_COORDINATOR, apiVersion=1, clientId=consumer-1, correlationId=3098), responseBody=FindCoordinatorResponse(throttleTimeMs=0, errorMessage='null', error=COORDINATOR_NOT_AVAILABLE, node=:-1 (id: -1 rack: null))) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)
[2017-12-31 17:55:40,100] DEBUG [Consumer clientId=consumer-1, groupId=connect03] Group coordinator lookup failed: The coordinator is not available. (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)
[2017-12-31 17:55:40,100] DEBUG [Consumer clientId=consumer-1, groupId=connect03] Coordinator discovery failed, refreshing metadata (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)

между тем в журналах kafka я не вижу ошибок.

Я пробовал:

  • оставить connect / kafka для создания тем (конфиг, смещения и статус)

РЕЗУЛЬТАТ: создана только тема смещения

  • сам создавать темы перед

РЕЗУЛЬТАТ: ничего особенного

  • с каждой новой попыткой я менял имена групп groupId / appId config / offsets / status (чтобы избежать проблем с грязной настройкой)

Есть какие-нибудь подсказки об этом поведении?

Спасибо большое за вашу поддержку.


person MarcoAbi    schedule 01.01.2018    source источник
comment
Пара вещей, которые нужно проверить: сначала проверьте журналы контейнера. Сразу после печати конфигурации вы можете получить дополнительную информацию. Во-вторых, попробуйте конечную точку Connector-plugins, чтобы увидеть, вернется ли что-нибудь для доступных плагинов. Я не говорю, что это исправит, просто думаю о том, где я устраню неполадки в первую очередь   -  person dawsaw    schedule 02.01.2018


Ответы (1)


В конце концов я понял, в чем проблема. Я запускал контейнер kafka без переменной env KAFKA_BROKER_ID. Это вызывает брокера kefka с псевдослучайным числом (например, 1007).

Случалось, что некоторая конфигурация кластера испортилась, так как я несколько раз запускал / останавливал контейнеры kafka. Фактически, проверяя кластер, я увидел, что кластер состоит из 3 брокеров (живые, 1007,1008,1009), а остальные 3 находятся в автономном режиме (1004,1005,1006). Когда я создал cp-kafka-connect, в первый раз это было с первыми тремя брокерами, потом что-то было повреждено.

Сейчас все почистил, поместил KAFKA_BROKER_ID в каждого брокера kafka и все работает.

Большое спасибо.

person MarcoAbi    schedule 07.01.2018