Обновление Kafka
Для настройки Kafka перед обновлением сервера на версию 2.6:
-
Ограничьте подключения к серверу снаружи.
Добавьте правила в IPTABLES для цепочки DOCKER-USER, выполнив следующие команды:
sudo iptables -I DOCKER-USER 1 -p tcp --dport 80 -j DROP sudo iptables -I DOCKER-USER 1 -p tcp --dport 443 -j DROP sudo iptables -I DOCKER-USER 1 -p tcp --dport 5001 -j DROP
Если цепочки DOCKER-USER нет, то уберите параметр "'bridge': none" из файла /etc/docker/daemon.json и перезапустите службу docker.
-
Выполните проверку Kafka Lag и дождитесь ответа всех offset:
docker exec -t cts_kafka_1 /opt/kafka/bin/kafka-consumer-groups.sh --describe --all-groups --bootstrap-server localhost:9092
В выводе будут присутствовать consumer-groups:
trusts audit file_service ad_integration conference_bot admin ad_phonebook events botx messaging
Пример вывода по consumer-group admin:
Параметр LAG должен = 0.GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID admin retry-30m 0 - 0 - 'admin@172.21.0.27'/<0.3836.0>-a0399c9b-a8a7-46c3-a7ab-85fb1dcd /172.21.0.27 'admin@172.21.0.27'/<0.3836.0> admin retry-5m 0 - 0 - 'admin@172.21.0.27'/<0.3815.0>-eb08d50c-4207-4c7b-870f-0080d344 /172.21.0.27 'admin@172.21.0.27'/<0.3815.0> admin system-events 0 18 18 0 'admin@172.21.0.27'/<0.3880.0>-58d2f6fe-840b-412e-ae41-39f999ba /172.21.0.27 'admin@172.21.0.27'/<0.3880.0> admin retry-15m 0 - 0 - 'admin@172.21.0.27'/<0.3807.0>-0326ec57-bb39-4636-8639-eb942ee5 /172.21.0.27 'admin@172.21.0.27'/<0.3807.0>
Если LAG ≠ 0, подождите 10 минут. Если значение параметра не меняется на 0, перезапустите сервис с LAG.
-
Удалите Kafka volume.
Внимание!
Предварительно создайте резервную копию /var/lib/docker/volumes/cts_kafka_logs.
Выполните:
-
остановку и удаление контейнера Kafka:
``` docker stop cts_kafka_1 && docker rm $_ ```
-
удаление volume:
``` docker volume rm cts_kafka_logs ```
-
-
Обновите версии и запустите сервисы.
Из директории СК "eXpress" запустите сервисы:
dpl -d
-
Выполните проверку контейнера Kafka:
docker ps -a | grep kafka
Вывод:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES 70c2fd5b3922 registry_name/kafka:2.13-3.3.1 "start-kafka" 4 days ago Up 3 minutes cts_kafka_1
Просмотр логов Kafka:
docker logs cts_kafka_1
-
Сделайте резервную копию /var/lib/docker/volumes/(cts_zookeeper_data, cts_zookeeper_datalog, cts_zookeeper_logs) (адрес меняется, если компоненты лежат в другой директории).
Выполните:
7. Удалите правила IPTABLES:docker volume rm cts_zookeeper_data cts_zookeeper_datalog cts_zookeeper_logs
sudo iptables -D DOCKER-USER -p tcp -m tcp --dport 80 -j DROP sudo iptables -D DOCKER-USER -p tcp -m tcp --dport 443 -j DROP sudo iptables -D DOCKER-USER -p tcp -m tcp --dport 5001 -j DROP