Вопрос или проблема
Я на AWS ubuntu 22.04.5 LTS. Я использую ‘supervisor’ для запуска rabbit и других связанных сервисов. Иногда он предлагает запустить обновления безопасности с помощью sudo apt update && sudo apt upgrade -y
. У меня никогда не было никаких проблем с этим. Я сделал это неделю назад и обнаружил, что это сломало RabbitMQ. Просматривая less /var/log/apt/history.log
, я вижу, что он был обновлён с rabbitmq-server:amd64 (3.13.7-1, 4.0.2-1)
. Похоже, что он обновился на прошлой неделе. Согласно их документации, “Кроме того, функциональные флаги должны быть включены перед обновлением. Обновление завершится неудачей, если вы пропустите этот шаг.” Но там нет информации, которую я мог бы найти, или открытых тикетов на Github по этому поводу. Мой Erlang на 26.2.5.4.
Насколько я понимаю, мне нужно сделать одно из следующего:
- понизить версию, включить флаги, обновить, включить флаги, запустить
- удалить и переустановить
- что-то другое?
Есть какие-либо рекомендации, мысли или другая необходимая информация?
Ответ или решение
Проблема: Автообновление RabbitMQ до версии 4.0.2 с версии 3.13Prevent RabbitMQ от запуска
Ситуация:
Вы столкнулись с проблемой, когда после автоматического обновления RabbitMQ с версии 3.13.7 до 4.0.2 на вашем сервере под управлением Ubuntu 22.04.5 LTS, RabbitMQ перестал запускаться. Как указано в документации RabbitMQ, для успешного обновления необходимо включить определенные опции (флаги возможностей), которые, вероятно, не были активированы в предыдущей версии.
Решения и рекомендации:
В данной ситуации можно воспользоваться несколькими подходами для восстановления работоспособности RabbitMQ:
1. Понижение версии RabbitMQ
Это решение включает в себя следующие шаги:
-
Удалите текущую версию RabbitMQ:
sudo apt remove --purge rabbitmq-server
-
Установите предыдущую версию RabbitMQ (3.13.7):
Сначала выполните поиск доступных версий:apt-cache madison rabbitmq-server
Установите нужную версию:
sudo apt install rabbitmq-server=3.13.7-1
-
Активация флагов возможностей:
После установки, активируйте необходимые флаги перед следующим обновлением. Это можно сделать с помощью конфигурационного файла RabbitMQ. -
Обновите RabbitMQ до версии 4.0.2:
После активации флагов, вы можете снова обновить RabbitMQ:sudo apt update && sudo apt upgrade -y
2. Переустановка RabbitMQ
Если вы хотите попробовать более чистый подход, вы можете выполнить полную переустановку RabbitMQ:
-
Сначала удалите RabbitMQ, как описано выше.
-
Удалите все конфигурации и данные:
sudo rm -rf /etc/rabbitmq /var/lib/rabbitmq
-
Затем снова установите RabbitMQ с помощью обычных команд:
sudo apt update && sudo apt install rabbitmq-server
-
Не забудьте активировать необходимые флаги возможностей.
3. Другие возможные решения:
-
Проверка и настройка Erlang:
Убедитесь, что версия Erlang (26.2.5.4) совместима с RabbitMQ 4.0.2. В RabbitMQ могут быть спецификации на совместимость конкретных версий Erlang. Обязательно проверьте официальную документацию RabbitMQ. -
Просмотр журналов и диагностических сообщений:
Используйте команду:sudo journalctl -u rabbitmq-server
Это даст вам представление о том, почему RabbitMQ может не запускаться. Вы можете найти конкретные ошибки или конфликты.
-
Обратитесь к сообществу и поддержке:
Если указанные способы не решают проблему, рассмотрите возможность обращения на форумах RabbitMQ или GitHub, чтобы получить помощь от разработчиков и пользователей с аналогичными проблемами.
Заключение
Проблема с обновлением RabbitMQ до версии 4.0.2 может быть решена различными способами — от понижения версии до полной переустановки. Дополнительным шагом будет активация необходимых флагов и проверка совместимости Erlang. Надеюсь, данные рекомендации помогут вам восстановить корректную работу RabbitMQ на вашем сервере.