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

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

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

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

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

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

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

  • ХОСТ и ПОРТ: обычно порт 8443 при использовании TLS или 8123 при его отсутствии.

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

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

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

Кнопка подключения к службе ClickHouse Cloud

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

Детали подключения ClickHouse Cloud через HTTPS

Если вы используете self-managed 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 находился в частной подсети с подключенной частной NAT для доступа в интернет. Инструкции по настройке приведены ниже. Обратите внимание, что публичные подсети поддерживаются, но не рекомендуются из-за необходимости постоянно назначать Elastic IP адрес вашему ENI, AWS предоставляет больше деталей здесь.

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