Общие пререквизиты установки#
Общие настройки#
Для увеличения отказоусточивости кластера брокеров Platform V Corax / Apache Kafka рекомендуется изменить сетевые настройки ядра Linux на следующие значения:
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 1
net.ipv4.tcp_retries2 = 3
, где:
tcp_syn_retries— количество попыток передачи SYN-пакета при установлении нового соединения;tcp_synack_retries— количество попыток передачи SYN, ACK-пакета в ответ на SYN-запрос. Максимальное число попыток установить пассивное TCP-соединение, инициированное другим сервером;tcp_keepalive_time— частота проверки соединения, если оно давно не используется (в секундах);tcp_keepalive_probes— количество попыток проверки жизнеспособности прежде, чем будет принято решении о разрыве соединения;tcp_keepalive_intvl— интервал проверки жизнеспособность сокета. Значение учитывается при подсчете времени, которое должно пройти перед тем, как соединение будет разорвано (в секундах);tcp_retries2— максимальное количество попыток повторной передачи пакетов до того, как соединение будет считаться разорванным.
Для этого под пользователем root выполнить команды:
echo "3" > /proc/sys/net/ipv4/tcp_syn_retries
echo "3" > /proc/sys/net/ipv4/tcp_synack_retries
echo "60" > /proc/sys/net/ipv4/tcp_keepalive_time
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes
echo "1" > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo "3" > /proc/sys/net/ipv4/tcp_retries2
Для уменьшения использования системного диска рекомендуется отключить SWAP. Для этого необходимо под пользователем
rootна сервере установки кластера брокеров Platform V Corax / Apache Kafka выполнить команду:
swapoff -a
Установить пакеты: java, unzip, ansible (необходимо установить на сервер, с которого будет производиться установка).
Создать пользователя установки (например,
kafka).Увеличить лимит дескрипторов для пользователя
kafka. Для этого в файле/etc/security/limits.confдля пользователяkafkaпрописать:
kafka soft nproc 512000
kafka hard nproc 512000
kafka soft nofile 512000
kafka hard nofile 512000
Создать системные или пользовательские сервисы обслуживания. Создавать необходимо согласно инструкции Создание системных и пользовательских сервисов обслуживания.
Дополнительно проверить:
доступность порта 9093 на серверах брокеров для подключения клиентов;
доступность порта 2181 на серверах Zookeeper для подключения брокеров;
доступность портов 2888 и 3888 на серверах Zookeeper для создания кластера;
разрешение имен серверов по IP в рамках всех серверов (с использованием DNS или записи в /etc/hosts).
все указанные порты при необходимости можно изменить через параметры ansible.
При использовании Jenkins#
Необходимо проверить:
наличие доступа в Jenkins. Должны быть выданы права на запуск Jenkins job для пользователя, запускающего установку компонента;
сетевую доступность узлов для вызова со стороны Jenkins;
наличие доступа в Git, в котором создан проект для ролей ansible и скриптов развертывания, а также выданы права на чтение для учетных данных, указанных в настройках Jenkins job;
наличие доступа в Nexus, где размещен дистрибутив компонента, а также выданы права на чтение для учетных данных, указанных в настройках Jenkins job.
Настройка серверов Apache Kafka#
Создать разделы на диске:
/opt/Apache/ — 10 ГБ, владелец kafka:kafka;
/KAFKADATA/ — от 150 ГБ, владелец kafka:kafka (объем зависит от нагрузки, рассчитывается предварительно).
Создать JKS хранилище с сертификатом, подписанным УЦ, доверенным для всех клиентов. Инструкции по созданию сертификатов и хранилища сертификатов приведены в раздел Управление ключами и сертификатами.
Настройка серверов Zookeeper#
Создать разделы на диске:
/opt/Apache/ — 10 ГБ, владелец kafka:kafka;
/zookeeper/ — 50 ГБ, владелец kafka:kafka.
Создать JKS хранилище с сертификатом, подписанным УЦ, доверенным для брокеров Kafka. Инструкции по созданию сертификатов и хранилища сертификатов приведены в разделе Управление ключами и сертификатами.