Праавки по сервису kafka

This commit is contained in:
Левченко Людмила Алексеевна
2026-04-29 10:22:17 +03:00
parent 9a21a53e11
commit c01886e49b
7 changed files with 298 additions and 46 deletions
+19 -17
View File
@@ -2,20 +2,24 @@
## О разделе
В данном разделе описаны способы подключения к управляемому кластеру Kafka. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами и базовые операции администрирования.
Раздел содержит описание способов подключения к управлению кластером Kafka. Поддерживаются два типа подключения:
- `SASL_PLAINTEXT` - незашифрованное;
- `SASL_SSL` - зашифрованное (через SSL-сертификат).
Также в разделе приведены примеры работы с клиентскими утилитами и базовые операции администрирования.
## Предварительные требования
Для работы с кластером Kafka необходимо наличие следующих компонентов:
1. **Установленный клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установленная Java** - для работы с Kafka требуется среда выполнения Java. Установка выполняется командой: **sudo apt install openjdk-17-jre-headless**. Рекомендуется использовать версию OpenJDK 17 или выше;
Для начала работы с кластером Kafka необходимо выполнить предварительную настройку:
1. **Установить клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установить среду выполнения Java** - для работы необходимо установить среду выполнения, с помощью команды: `**sudo apt install openjdk-17-jre-headless**`. Рекомендуется использовать версию OpenJDK 17 или выше;
3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера;
4. **Учетные данные**:
- Имя пользователя (username) - стандартное значение client;
- Пароль - предоставляется после развертывания кластера.
5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka.
## Структура клиентского дистрибутива 
## Структура клиентского дистрибутива
После распаковки архива Kafka в директории bin доступны основные скрипты для управления:
@@ -27,6 +31,7 @@
| `kafka-consumer-groups.sh` | Управление консьюмер-группами |
| `kafka-configs.sh` | Изменение конфигурации топиков и других объектов |
| `kafka-acls.sh` | Управление списками доступа (ACL) |
В разделе ниже приведены примеры использования скриптов.
Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help:
@@ -35,10 +40,9 @@
./kafka-topics.sh --help
```
### Конфигурационные файлы клиента
Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
Для подключения к Kafka используется файл настроек **client.properties**, который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
### Незашифрованное подключение (SASL_PLAINTEXT)
@@ -56,7 +60,7 @@ sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule require
Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore).
Шаг 1. Создание truststore
#### Шаг 1. Создание truststore
С помощью утилиты **keytool** выполняется импорт сертификата в хранилище:
@@ -72,7 +76,7 @@ keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстор
- **storepass** - пароль для доступа к хранилищу;
- **keypass** - пароль для доступа к ключу.
Шаг 2. Настройка client.properties
#### Шаг 2. Настройка client.properties
В файл **client.properties** добавляются параметры SSL:
@@ -91,7 +95,7 @@ ssl.truststore.password=парольотхранилища
Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091;
Для зашифрованного подключения (SASL_SSL) используется порт 9092.
### Создание топиков 
### Создание топиков
```
./kafka-topics.sh --bootstrap-server <IP машины 0>:9092,<IP машины 1>:9092,<IP машины X>:9092 --command-config ../config/client.properties --create --topic <имя топика> --partitions <количество партиций> --replication-factor <значение> --config min.insync.replicas=<значение>
@@ -139,7 +143,8 @@ command-config - путь к файлу с настройками клиент
- **group** - название consumer group, которая создастся автоматически.
## Управление пользователями и доступом
## Рекомендации к паролям
#### Рекомендации к паролям
**Длина пароля (рекомендуемая):**
@@ -213,6 +218,7 @@ sudo ./kafka-acls.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брок
```
## Администрирование кластера
### Изменение объема RAM
Для изменения объема оперативной памяти, выделенной под Kafka, направляется обращение в техническую поддержку с указанием требуемого объема RAM.
@@ -229,10 +235,6 @@ sudo ./kafka-acls.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брок
./kafka-reassign-partitions.sh --bootstrap-server <адреса_брокеров> --generate --topics-to-move-json-file topics.json --broker-list "0,1,2" --execute
```
: : : info
::: info
Операция перераспределения партиций требует времени и может создавать дополнительную нагрузку на кластер. Выполнение рекомендуется в период наименьшей активности.
: : :
:::