Проблема: при начальной установке *nix операционной системе присваивается дефолтное имя localhost.localnet. Но при этом ноды с rabbitmq должны иметь уникальные имена для объединения в один кластер.
Решение.
Имя ноды кластера имеет вид rabbit1@nodename, где
nodename – имя хоста
rabbit1 – имя самого экземпляра КabbitMQ (если будет несколько кроликов на одной машине, то можно сделать уникальные имена вида rabbit1@nodename, rabbit2@nodename,…)
Смена имени хоста.
Смена имени самого хоста – либо ручное редактирование файла /etc/hostname и затем перегрузка.
Либо:
$ hostnamectl set-hostname HWSERVER
$ hostname
HWSERVER
далее – перезапуск самого кролика:
$ sudo systemctl restart rabbitmq-server
При перезапуске RabbitMQ перезаписывает файлы в /var/lib/rabbitmq:
Было (до смены имени):
[root@WRD1 _mnesia]# ls -al
итого 16
drwxr-x---. 6 rabbitmq rabbitmq 193 мар 14 11:04 .
drwxr-x---. 5 rabbitmq rabbitmq 130 мар 14 11:11 ..
drwxr-x---. 5 rabbitmq rabbitmq 4096 мар 14 10:46 rabbit@localhost
-rw-r-----. 1 rabbitmq rabbitmq 310 мар 12 08:29 rabbit@localhost-feature_flags
drwxr-x---. 2 rabbitmq rabbitmq 6 мар 14 10:46 rabbit@localhost-plugins-expand
Стало:
[root@WRD1 _mnesia]# ls -al
итого 16
drwxr-x---. 6 rabbitmq rabbitmq 193 мар 14 11:04 .
drwxr-x---. 5 rabbitmq rabbitmq 130 мар 14 11:11 ..
drwxr-x---. 5 rabbitmq rabbitmq 4096 мар 14 10:46 rabbit@localhost
-rw-r-----. 1 rabbitmq rabbitmq 310 мар 12 08:29 rabbit@localhost-feature_flags
drwxr-x---. 2 rabbitmq rabbitmq 6 мар 14 10:46 rabbit@localhost-plugins-expand
drwxr-x---. 5 rabbitmq rabbitmq 4096 мар 14 11:00 rabbit@HWSERVER
-rw-r-----. 1 rabbitmq rabbitmq 358 мар 14 08:31 rabbit@HWSERVER-feature_flags
drwxr-x---. 2 rabbitmq rabbitmq 6 мар 14 11:00 rabbit@HWSERVER1-plugins-expand
ВАЖНО: после перезапуска RаbbitMQ забывает все настройки. Вы получаете абсолютно чистого зайца. Авторизоваться через веб-интерфейс также НЕ получится со старыми данными.
Причем, если у вас был уже открыт веб-интерфейс, то он тут же вывалится в состояние “Not Authorized”
Создать нового пользователя:
rabbitmqctl add_user username password
Добавить таг администратора
rabbitmqctl set_user_tags username administrator
Дать полные права:
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
После этого получится авторизоваться с вновь заданными username / password.
Доп. материалы про миграцию RabbitMQ здесь: “The Best Way To Migrate a RabbitMQ Server“