Настройка Apache Kafka

Для настройки Apache Kafka при подключении коннекторов Debezium необходимо:

  1. Обеспечить доступность Kafka Connect по REST API, проверка осуществляется с помощью команды:
curl http://CONNECT_HOST:8083/connectors
  1. Убедиться в наличии следующих компонентов и настроек:
  • функционирующем адресе брокеров bootstrap.servers;
  • служебных топиков Kafka Connect;
  • топиков истории схем;
  • итоговых CDC-топиков;
  • корректного listener;
  • корректного типа аутентификации.
  1. Убедиться, что используются следующие Kafka topics:

Номера служебных топиков Kafka Connect:

  • debezium_connect_configs – в переменной CONFIG_STORAGE_TOPIC;
  • debezium_connect_offsets – в переменной OFFSET_STORAGE_TOPIC;
  • debezium_connect_statuses – в переменной STATUS_STORAGE_TOPIC.

Топики истории схем:

  • dh-collections-service-collection-schema-history;
  • dh-documents-service-document-schema-history;
  • dh-documents-service-items-schema-history;
  • dh-favorites-service-dhfavorite-schema-history;
  • dh-folders-service-folder-schema-history;
  • dh-relations-service-relation-schema-history.

Итоговые CDC-топики:

  • <ENVIRONMENT_PREFIX>-dh-es-dh-collections-service-collection;
  • <ENVIRONMENT_PREFIX>-dh-es-dh-documents-service-document;
  • <ENVIRONMENT_PREFIX>-dh-es-dh-documents-service-item;
  • <ENVIRONMENT_PREFIX>-dh-es-dh-favorites-service-dhfavorite;
  • <ENVIRONMENT_PREFIX>-dh-es-dh-folders-service-folder;
  • <ENVIRONMENT_PREFIX>-dh-es-dh-relations-service-relation.
  1. Настроить ACL-права для principal Kafka Connect worker.

На служебные топики выдать права:

  • READ;
  • WRITE;
  • DESCRIBE.

Если служебные топики создаются автоматически, необходимо дополнительно создать право CREATE.

На группу потребителей Kafka Connect для группы «debezium-connect-cluster» необходимо выдать право READ.

На историю схем топиков выдать права:

  • READ;
  • WRITE;
  • DESCRIBE.

Если схема истории топиков создается автоматически, необходимо дополнительно выдать право CREATE.

На итоговые CDC-топики выдать права:

  • WRITE;
  • DESCRIBE.

Если CDC-топики создаются автоматически, необходимо дополнительно выдать право CREATE.

Если тот же principal будет читать CDC-топики как consumer, необходимо дополнительно выдать право READ.

  1. После настройки Apache Kafka выполнить проверку следующих условий:
  • «schema.history.internal.kafka.bootstrap.servers» указывает на рабочий listener;
  • listener принимает нужный тип аутентификации;
  • права на internal topics выданы;
  • права на топики истории схем выданы;
  • права на итоговые CDC-топики выданы.