Настройка сервера для подключения к кластеру Kafka

Чтобы настроить сервер для работы с кластером Kafka:

  1. Установите клиент Apache Kafka.
  2. Установите Java.
  3. Импортируйте сертификат на сервер.
  4. Создайте конфигурационный файл клиента.

Установка клиента Apache Kafka

Чтобы установить клиент Apache Kafka на сервер:

  1. Подключитесь к серверу по SSH-ключу.
  2. Смените пользователя на root, выполнив команду:

    sudo -i
  3. Скачайте в папку /tmp/ архив с клиентом Apache Kafka той версии, которая выбрана при заказе кластера. Для этого выполните команду:

    wget <ССЫЛКА_НА_АРХИВ> -P /tmp/
  4. Создайте папку для клиента Apache Kafka и конфигурационных файлов, выполнив команду:

    mkdir -p /app/kafka/config/
  5. Распакуйте загруженный архив с клиентом Apache Kafka в папку /app/kafka/, выполнив команду, соответствующую версии Apache Kafka:

    tar -xvf /tmp/kafka_2.13-2.4.1.tgz -C /app/kafka/
    tar -xvf /tmp/kafka_2.13-2.8.2.tgz -C /app/kafka/

Установка Java

Чтобы использовать клиент Apache Kafka, установите Java (не ниже версии 8) на сервер:

  1. Подключитесь к серверу по SSH-ключу.
  2. Смените пользователя на root, выполнив команду:

    sudo -i
  3. Скачайте в папку /tmp/ архив с Java, выполнив команду:

    wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -P /tmp/
  4. Создайте папку для Java и конфигурационных файлов, выполнив команду:

    mkdir -p /app/java/
  5. Распакуйте загруженный архив с Java в папку /app/java/, выполнив команду:

    tar -xvf /tmp/openjdk-11.0.2_linux-x64_bin.tar.gz -C /app/java/
  6. Добавьте путь для вызова java в файл /root/.profile, выполнив команду:

    cat >> /root/.profile <<EOF 
    PATH=$PATH:/app/java/jdk-11.0.2/bin/
    JAVA_HOME=/app/java/jdk-11.0.2/
    EOF
  7. Подключите переменные из файла /root/.profile, выполнив команду:

    source /root/.profile

Импорт сертификатов

Чтобы подключиться к кластеру Kafka, импортируйте сертификат на сервер:

  1. Перейдите в раздел Ресурсы  Приложения Managed Service for Kafka и нажмите на кнопку  в строке с нужным кластером.
  2. Перейдите на вкладку Сертификаты.
  3. Нажмите на кнопку  Действия и выберите пункт Получение цепочки сертификатов Kafka:

  4. В открывшемся окне нажмите на кнопку Подтвердить.
  5. Перейдите на вкладку История действий.
  6. Нажмите на кнопку Показать результаты выполнения действия в строке с действием Получение цепочки сертификатов Kafka:

  7. Откроется окно с содержимым сертификатов. Скопируйте всё содержимое:

  8. Подключитесь к серверу по SSH-ключу.
  9. Смените пользователя на root, выполнив команду:

    sudo -i
  10. Создайте файл intermediate_private.pem в папке /tmp/ и вставьте в него содержимое сертификатов.
  11. Создайте папку для сертификата, выполнив команду:

    mkdir -p /app/tls/certs/
  12. Импортируйте сертификат на сервер, выполнив команду:

    keytool -importcert -file /tmp/intermediate_private.pem -alias InterCA -storetype PKCS12 -keystore /app/tls/certs/kafka_truststore.pfx
    1. Введите любой пароль для импортированного сертификата.
    2. Повторно введите пароль.
    3. Введите yes и нажмите Enter.

      Примечание

      Запишите данный пароль, т.к. он понадобится при подключении к кластеру.


Создание конфигурационного файла клиента

Чтобы подключиться к кластеру Kafka, создайте конфигурационный файл клиента:

  1. Перейдите в папку /app/kafka/config/.
  2. Создайте файл client.properties и скопируйте в него:
request.timeout.ms=180000
 
#### SSL properties ####
sasl.mechanism=PLAIN
security.protocol=SASL_SSL
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  username="admin" \
  password="Admin12345";
ssl.truststore.location=/app/tls/certs/kafka_truststore.pfx
ssl.truststore.password=12345678
ssl.truststore.type=PKCS12

где:

  • username — имя пользователя для авторизации в сервисе Kafka, указанное при создании кластера;
  • password — пароль пользователя для авторизации в сервисе Kafka, указанный при создании кластера;
  • ssl.truststore.location — расположение сертификата;
  • ssl.truststore.password — пароль от сертификата.

3. Сохраните файл client.properties.