...
Устанавливаем кафку на сервера, например в директорию /opt/kafka
https://kifarunix.com/install-apache-kafka-on-debian/
...
В консоли на каждом сервере инициализировать кафку
Сначала генерим ключ, например RiS_KRIffedSfMurdVxTDKw
Можно командой bin/kafka-storage.sh random-uuid
потом в консоли на каждом сервере выполняем команду
./bin/kafka-storage.sh format -t RiS_KRIffedSfMurdVxTDKw -c config/kraft/server.properties
ключ RiS_KRIffedSfMurdVxTDKw должен быть один и тот же для всех нод
Запуск сервиса
Пример файла сервиса kafka.service
[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=wnam
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
TimeoutSec=30
Restart=always
RestartSec=20s
[Install]
WantedBy=multi-user.target
В конфигурационном файле /home/wnam/application.yaml :
netams:
...
wnam:
...
cluster:
...
# optional, префикс для id сервера
prefix: wnam-cluster-
...
# optional, default false. Использовать kafka
kafka_enabled:
...
useCache: true #optional, default 'true'. Использовать локальный кэш. Может быть true или false, отключать кэш следует только в конфигурации когда нет кафки и больше одного сервера wnam
...
true
# optional default false
main: true
# optional, default 1 количество реплик (серверов) в кластере kafka
replicas: 3
# optional, default true. Пытаться выбрать лидера в kafka при падении брокеров kafka
unclean_election: true
# optional, default empty.Если master, то все задачи выполняются на этом сервере,
role: master
# optional, default 'true'. Использовать локальный кэш. Может быть true или false, отключать кэш следует только в конфигурации когда нет кафки и больше одного сервера wnam
useCache: true
spring:
# применяется если kafka_enabled = true
kafka:
bootstrap-servers: 172.16.135.10:9092,10.241.200.123:9092,10.241.200.124:9092