правки kafka

This commit is contained in:
Левченко Людмила Алексеевна
2026-04-30 12:06:57 +03:00
parent c01886e49b
commit 3a96cb441e
7 changed files with 173 additions and 164 deletions
+38 -30
View File
@@ -1,27 +1,32 @@
# Подключение и работа с кластером Kafka (тариф Full)
## О разделе
Раздел содержит описание способов подключения к управлению кластером Kafka. Поддерживаются два типа подключения:
- `SASL_PLAINTEXT` - незашифрованное;
- `SASL_SSL` - зашифрованное (через SSL-сертификат).
В данном разделе описаны способы подключения к управляемому кластеру Kafka. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами.
Также в разделе приведены примеры работы с клиентскими утилитами и базовые операции администрирования.
## Предварительные требования
Для работы с кластером Kafka необходимо наличие следующих компонентов:
Для начала работы с кластером Kafka необходимо выполнить предварительную настройку:
1. **Установленный клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установленная Java** - для работы с Kafka требуется среда выполнения Java. Установка выполняется командой: **sudo apt install openjdk-17-jre-headless.** Рекомендуется использовать версию OpenJDK 17 или выше;
1. **Установить клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установить среду выполнения Java** - для работы необходимо установить среду выполнения, с помощью команды: `**sudo apt install openjdk-17-jre-headless**`. Рекомендуется использовать версию OpenJDK 17 или выше;
3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера;
4. **Учетные данные** - пользователи создаются по Вашему запросу. Например, с правами чтения топиков и записи в них.
4. **Учетные данные**:
- Имя пользователя (username) - стандартное значение client;
- Пароль - предоставляется после развертывания кластера.
5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka.
## Структура клиентского дистрибутива 
После распаковки архива Kafka в директории bin доступны скрипты, например:
|Скрипт|Назначение|
|---|---|
| Скрипт | Назначение |
|---------------------------|--------------------------|
|`kafka-console-producer.sh`|Отправка сообщений в топик|
|`kafka-console-consumer.sh`|Чтение сообщений из топика
|`kafka-console-consumer.sh`|Чтение сообщений из топика|
В разделе ниже приведены примеры использования скриптов.
Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help:
@@ -32,7 +37,7 @@
## Конфигурационные файлы клиента
Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
Для подключения к Kafka используется файл настроек **client.properties**, который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
### Незашифрованное подключение (SASL_PLAINTEXT)
@@ -46,11 +51,19 @@ sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule require
    password="вашпароль";
```
::: warning Примечание
Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091;
:::
### Зашифрованное подключение (SASL_SSL)
Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore).
Шаг 1. Создание truststore
::: warning Примечание
Для зашифрованного подключения (SASL_SSL) используется порт 9092.
:::
### Шаг 1. Создание truststore
С помощью утилиты **keytool** выполняется импорт сертификата в хранилище:
@@ -60,13 +73,13 @@ keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстор
Параметры:
- keystore - путь к создаваемому хранилищу;
- alias - псевдоним сертификата в хранилище;
- file - путь к загруженному корневому сертификату;
- storepass - пароль для доступа к хранилищу;
- keypass - пароль для доступа к ключу.
- **keystore** - путь к создаваемому хранилищу;
- **alias** - псевдоним сертификата в хранилище;
- **file** - путь к загруженному корневому сертификату;
- **storepass** - пароль для доступа к хранилищу;
- **keypass** - пароль для доступа к ключу.
Шаг 2. Настройка client.properties
### Шаг 2. Настройка client.properties
В файл **client.properties** добавляются параметры SSL:
@@ -80,11 +93,6 @@ ssl.truststore.location=/путь/к/трастстору/truststore.jks
ssl.truststore.password=парольотхранилища
```
## Примеры подключения
Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091;
Для зашифрованного подключения (SASL_SSL) используется порт 9092.
### Отправка сообщения в топик
Выполняется команда с указанием брокеров, файла конфигурации и топика:
@@ -95,12 +103,12 @@ ssl.truststore.password=парольотхранилища
Параметры:
- bootstrap-server - список брокеров кластера (адреса и порты);
- command-config - путь к файлу с настройками клиента;
- **bootstrap-server** - список брокеров кластера (адреса и порты);
- **command-config** - путь к файлу с настройками клиента;
После выполнения команды сообщения вводятся построчно. Для завершения используется сочетание клавиш Ctrl+C.
### Чтение сообщений из топика
### Чтение сообщений из топика
Выполняется команда с указанием топика и, при необходимости, consumer group:
@@ -115,9 +123,9 @@ ssl.truststore.password=парольотхранилища
## Администрирование кластера
: : : info
Для изменения параметров кластера Kafka (CPU, RAM, DISK, количества брокеров, параметров топиков) необходимо направить запрос в Service Desk по адресу servicedesk@datafort.ru с указанием требуемых значений.
: : :
::: warning Примечание
Для изменения параметров кластера Kafka (CPU, RAM, DISK, количества брокеров, параметров топиков) необходимо направить запрос в **Service Desk** по адресу `servicedesk@datafort.ru` с указанием требуемых значений.
:::
### Изменение количества брокеров
@@ -125,6 +133,6 @@ ssl.truststore.password=парольотхранилища
Брокеров в кластере рекомендуется поддерживать **нечетным** для корректной работы механизмов выборов лидера.
: : : info
::: warning Примечание
Операция перераспределения партиций требует времени и может создавать дополнительную нагрузку на кластер. Выполнение рекомендуется в период наименьшей активности.
: : :
:::