Перейти к основному содержимому
Перейти к основному содержимому

Интеграция Amazon MSK с ClickHouse

Предварительные условия

Мы предполагаем:

Официальный коннектор Kafka от ClickHouse с Amazon MSK

Соберите ваши данные для подключения

Чтобы подключиться к ClickHouse с помощью HTTP(S), вам нужна следующая информация:

  • ХОСТ и ПОРТ: как правило, порт составляет 8443 при использовании TLS или 8123 при отсутствии TLS.

  • НАЗВАНИЕ БАЗЫ ДАННЫХ: по умолчанию существует база данных с именем default, используйте имя базы данных, к которой вы хотите подключиться.

  • ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ: по умолчанию имя пользователя равно default. Используйте имя пользователя, соответствующее вашему случаю.

Сведения о вашем ClickHouse Cloud-сервисе доступны в консоли ClickHouse Cloud. Выберите сервис, к которому вы будете подключаться, и нажмите Подключиться:

Выберите HTTPS, и детали доступны в примере команды curl.

Если вы используете самоуправляемый ClickHouse, детали подключения устанавливаются вашим администратором ClickHouse.

Шаги

  1. Убедитесь, что вы знакомы с ClickHouse Connector Sink
  2. Создайте экземпляр MSK.
  3. Создайте и назначьте IAM роль.
  4. Загрузите файл jar с страницы Релизов ClickHouse Connect Sink.
  5. Установите загруженный файл jar на странице пользовательских плагинов консоли Amazon MSK.
  6. Если Коннектор взаимодействует с публичным экземпляром ClickHouse, включите интернет-доступ.
  7. Укажите имя темы, имя хоста экземпляра ClickHouse и пароль в конфигурации.

Настройка производительности

Один из способов увеличения производительности — это настройка размера пакета и количества записей, которые извлекаются из Kafka, добавив следующее в конфигурацию worker:

Конкретные значения будут варьироваться в зависимости от желаемого количества записей и размера записи. Например, значения по умолчанию:

Более подробную информацию (как по реализации, так и другие аспекты) вы можете найти в официальной документации Kafka и Amazon MSK.

Примечания по сетевой настройке для MSK Connect

Для того чтобы MSK Connect мог подключиться к ClickHouse, мы рекомендуем размещать ваш кластер MSK в частной подсети с подключенным Private NAT для доступа к интернету. Инструкции по настройке приведены ниже. Обратите внимание, что публичные подсети поддерживаются, но не рекомендуются из-за необходимости постоянно назначать Elastic IP-адрес вашему ENI, AWS предоставляет более подробную информацию здесь

  1. Создайте частную подсеть: Создайте новую подсеть в вашем VPC, назначив ее как частную подсеть. Эта подсеть не должна иметь прямого доступа к интернету.
  2. Создайте NAT шлюз: Создайте NAT шлюз в публичной подсети вашего VPC. NAT шлюз позволяет экземплярам в вашей частной подсети подключаться к интернету или другим сервисам AWS, но предотвращает инициирование соединения с этими экземплярами из интернета.
  3. Обновите таблицу маршрутов: Добавьте маршрут, который направляет трафик в интернет на NAT шлюз.
  4. Обеспечьте конфигурацию групп безопасности и сетевых ACL: Настройте ваши группы безопасности и сетевые ACL (Access Control Lists) для разрешения соответствующего трафика к вашему экземпляру ClickHouse и обратно.
    1. Для ClickHouse Cloud настройте вашу группу безопасности для разрешения входящего трафика на портах 9440 и 8443.
    2. Для собственного ClickHouse настройте вашу группу безопасности для разрешения входящего трафика на порту в вашем конфигурационном файле (по умолчанию 8123).
  5. Прикрепите группы безопасности к MSK: Убедитесь, что эти новые группы безопасности, маршрутизированные к NAT шлюзам, прикреплены к вашему кластеру MSK.