RabbitMQ устанавливает несколько служб на машину с Windows

Я знаю, что есть много ресурсов по моему вопросу, но все же я не могу точно определить способ установки 2 служб RabbitMQ на одном компьютере с Windows.

Я знаю, что есть два способа запустить rabbitmq. Либо как сервис, либо приложение. Когда мы устанавливаем RMQ, он по умолчанию устанавливает одну службу под именем «RabbitMQ», которую мы всегда можем запустить. И другим способом вы можете использовать приведенные ниже команды и запустить другой экземпляр RMQ.

set RABBITMQ_NODE_PORT=5673
set RABBITMQ_NODENAME=test1
set RABBITMQ_SERVICE_NAME=test1
set RABBITMQ_SERVER_START_ARGS=-rabbitmq_management listener [{port,15673}]
call rabbitmq-server -detached

Используя приведенные выше команды, я могу запустить второй экземпляр, но как только пользователь выйдет из системы, RMQ остановится. Поэтому я попытался создать файл bat, зарегистрировать его как службу и запустить. Но даже после этого RMQ останавливается, когда пользователь выходит из системы.

Может ли кто-нибудь помочь мне с точными шагами для репликации на машине Windows для запуска долговременного второго экземпляра RMQ (может быть файл bat или любое другое руководство) ??

Есть ли способ изменить rabbitmq-service.bat, чтобы учесть вышеуказанные изменения переменных?

Я посетил почти каждый веб-сайт, посвященный установке нескольких экземпляров RMQ, но никто четко не определил подробные шаги для этого.


person Aditya Ekbote    schedule 23.08.2018    source источник
comment
У Rabbitmq хорошая изоляция с отдельными виртуальными хостами — т.е. почему бы не запустить один сервер с несколькими виртуальными хостами, если у сервера есть дополнительная мощность?   -  person StuartLC    schedule 23.08.2018
comment
Спасибо за ответ. Но я хочу использовать функцию HA. Если узел rmq выходит из строя, оба виртуальных хоста не работают. Надеюсь, это развеет мою озабоченность. Есть ли способ зарегистрировать две службы, которые я могу просто запускать и останавливать из диспетчера служб Windows?   -  person Aditya Ekbote    schedule 23.08.2018
comment
Если вы спросите меня, запуск двух экземпляров на одной машине по-прежнему является единственной точкой отказа. На самом деле предполагается, что HA распространяется на несколько машин.   -  person Joel Lucsy    schedule 24.08.2018


Ответы (2)


Вам следует внимательно прочитать эту документацию: ссылка

Во-первых, установите RMQ как службу Windows «в обычном режиме», без какой-либо настройки или настройки среды, используя одного администратора на вашем сервере.

Затем создайте вторую учетную запись администратора и выполните следующие действия:

Создайте файл %AppData%\RabbitMQ\rabbitmq-env-conf.bat со следующим содержимым (не забудьте заменить HOSTNAME на ваше фактическое имя хоста!):

set SERVICENAME=RabbitMQ Server (2)
set NODENAME=rabbit2@HOSTNAME
set NODE_PORT=5673

Создайте файл %AppData%\RabbitMQ\rabbitmq.conf со следующим содержимым:

management.listener.port = 15673

Откройте командную строку RabbitMQ (sbin) и выполните следующую команду:

rabbitmq-service.bat install
rabbitmq-service.bat start

Вы должны увидеть вторую службу, работающую в диспетчере служб.

Обратите внимание, что я вообще не проверял эти шаги. Если у вас возникнут проблемы, я буду рад помочь вам в списке рассылки. Спасибо.


ПРИМЕЧАНИЕ. команда RabbitMQ отслеживает rabbitmq-users список рассылки и лишь иногда отвечает на вопросы в StackOverflow.

person Luke Bakken    schedule 23.08.2018

Вам просто нужно изменить порты и имя узла в rabbitmq-defaults, rabbitmq-env и файлах конфигурации. Один из них может работать как служба по умолчанию, и вы можете просто загрузить его и создать службу после того, как вы изменили порты и имя узла.

здесь подробное руководство о том, как это сделать. Это довольно легко и просто.

person Mario Lazareski    schedule 22.06.2019