коннектор kafka connect не запускается автоматически - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть разъем источника и приемника Kafka Connect для помещения данных в Kafka и их извлечения.

Я использую Kafka и Kafka Connect, используя docker-compose, который запускает подключение в распределенном режиме.убедитесь, что он находит мой плагин при запуске connect, но на самом деле он ничего не делает, если я не выполняю POST для API / connectors, включая настройку в JSON.

У меня есть файл свойств с конфигурацией, и я попытался поместить его в / etc, где я нахожу аналогичные файлы свойств для других установленных плагинов.

Я пропускаю шаг при установке моего плагина или требуется зарегистрировать соединитель через REST API, прежде чем он будет назначен работникам?

1 Ответ

0 голосов
/ 26 февраля 2019

Да, вы должны настроить Kafka Connect, используя REST API при использовании распределенного режима.

Возможно создать сценарий создания соединителей, используя Docker Compose, например:

  command: 
    - bash 
    - -c 
    - |
      /etc/confluent/docker/run & 
      echo "Waiting for Kafka Connect to start listening on kafka-connect ⏳"
      while [ $$(curl -s -o /dev/null -w %{http_code} http://kafka-connect:8083/connectors) -eq 000 ] ; do 
        echo -e $$(date) " Kafka Connect listener HTTP state: " $$(curl -s -o /dev/null -w %{http_code} http://kafka-connect:8083/connectors) " (waiting for 200)"
        sleep 5 
      done
      nc -vz kafka-connect 8083
      echo -e "\n--\n+> Creating Kafka Connect Elasticsearch sink"
      /scripts/create-es-sink.sh 
      sleep infinity

, где /scripts/create-es-sink.sh - это вызов REST из curl в файле, подключенном локально кконтейнер.

( источник )

...