Общие пререквизиты установки#

Общие настройки#

  1. Для увеличения отказоусточивости кластера брокеров 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
  1. Для уменьшения использования системного диска рекомендуется отключить SWAP. Для этого необходимо под пользователем root на сервере установки кластера брокеров Platform V Corax / Apache Kafka выполнить команду:

swapoff -a
  1. Установить пакеты: java, unzip, ansible (необходимо установить на сервер, с которого будет производиться установка).

  2. Создать пользователя установки (например, kafka).

  3. Увеличить лимит дескрипторов для пользователя kafka. Для этого в файле /etc/security/limits.conf для пользователя kafka прописать:

kafka   soft  nproc    512000
kafka   hard  nproc    512000
kafka   soft  nofile   512000
kafka   hard  nofile   512000
  1. Создать системные или пользовательские сервисы обслуживания. Создавать необходимо согласно инструкции Создание системных и пользовательских сервисов обслуживания.

  2. Дополнительно проверить:

  • доступность порта 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#

  1. Создать разделы на диске:

/opt/Apache/ — 10 ГБ, владелец kafka:kafka;

/KAFKADATA/ — от 150 ГБ, владелец kafka:kafka (объем зависит от нагрузки, рассчитывается предварительно).

  1. Создать JKS хранилище с сертификатом, подписанным УЦ, доверенным для всех клиентов. Инструкции по созданию сертификатов и хранилища сертификатов приведены в раздел Управление ключами и сертификатами.

Настройка серверов Zookeeper#

  1. Создать разделы на диске:

/opt/Apache/ — 10 ГБ, владелец kafka:kafka;

/zookeeper/ — 50 ГБ, владелец kafka:kafka.

  1. Создать JKS хранилище с сертификатом, подписанным УЦ, доверенным для брокеров Kafka. Инструкции по созданию сертификатов и хранилища сертификатов приведены в разделе Управление ключами и сертификатами.