Перейти к основному содержимому
Подключиться к кластеру
Последнее изменение:

Подключиться к кластеру

К кластеру Kafka можно подключиться по DNS-адресу и IP-адресу.

Мы рекомендуем подключаться по DNS-адресу, потому что DNS-адреса соответствуют ролям нод и ведут на актуальные IP-адреса мастера и реплик. IP-адреса соответствуют конкретным нодам. В случае недоступности мастера одна из реплик возьмет на себя его роль, IP-адрес мастера изменится, и подключение по IP перестанет работать.

Если кластер подключен к приватной подсети и вы хотите работать с ним через DNS, подключите подсеть кластера к облачному роутеру⁠ с доступом к внешней сети. Используйте инструкцию Настроить доступ в интернет через облачный роутер⁠.

Публичный IP-адрес использовать нельзя.

Порты

Для подключения к Kafka используйте порты:

  • 9092 — порт для подключения без SSL-сертификата;
  • 9093 — порт для подключения с SSL-сертификатом.

Способы подключения

  • через терминальный клиент kcat;
  • из программного кода с SSL и без SSL.

Посмотреть адрес для подключения

  1. В панели управления перейдите в раздел Облачная платформаБазы данных.
  2. Откройте страницу кластера баз данных → вкладка Подключение.
  3. В блоке Адреса для подключения посмотрите адрес.

Подключиться с SSL

Подключение с использованием TLS/SSL шифрования обеспечивает безопасное соединение между вашим сервером и кластером баз данных.

  1. Скачайте корневой сертификат и поместите его в папку ~/.kafka/:

    mkdir -p ~/.kafka/
    wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.kafka/root.crt
    chmod 600 ~/.kafka/root.crt
  2. Используйте пример подключения для консьюмера:

    kcat -C \
    -b <host>:9093 \
    -t <topic_name> \
    -X sasl.username=<user_name> \
    -X sasl.password=<password> \
    -X security.protocol=SASL_SSL \
    -X sasl.mechanisms=SCRAM-SHA-512 \
    -X ssl.ca.location=~/.kafka/root.crt

    Укажите:

    • <host> — DNS-адрес ноды;
    • <topic_name> — имя топика;
    • <user_name> — имя пользователя с ролью консьюмер, который имеет доступ к топику;
    • <password> — пароль пользователя.
  3. Используйте пример подключения для продюсера:

    kcat -C \
    -b <host>:9093 \
    -t <topic_name> \
    -X sasl.username=<user_name> \
    -X sasl.password=<password> \
    -X security.protocol=SASL_SSL \
    -X sasl.mechanisms=SCRAM-SHA-512 \
    -X ssl.ca.location=~/.kafka/root.crt

    Укажите:

    • <host> — DNS-адрес ноды;
    • <topic_name> — имя топика;
    • <user_name> — имя пользователя с ролью продюсер, который имеет доступ к топику;
    • <password> — пароль пользователя.

Подключиться без SSL

  1. Откройте CLI.

  2. Используйте пример подключения для консьюмера:

    kcat -C \
    -b <host>:9092 \
    -t <topic_name> \
    -X sasl.username=<user_name> \
    -X sasl.password=<password> \
    -X security.protocol=SASL_PLAINTEXT \
    -X sasl.mechanisms=SCRAM-SHA-512

    Укажите:

    • <host> — DNS-адрес ноды;
    • <topic_name> — имя топика;
    • <user_name> — имя пользователя с ролью консьюмер, который имеет доступ к топику;
    • <password> — пароль пользователя.
  3. Используйте пример подключения для продюсера:

    kcat -P \
    -b <host>:9092 \
    -t <topic_name> \
    -X sasl.username=<user> \
    -X sasl.password=<password> \
    -X security.protocol=SASL_PLAINTEXT \
    -X sasl.mechanisms=SCRAM-SHA-512

    Укажите:

    • <host> — DNS-адрес ноды;
    • <topic_name> — имя топика;
    • <user_name> — имя пользователя с ролью продюсер, который имеет доступ к топику;
    • <password> — пароль пользователя.