Можно ли запускать более одного экземпляра кролика на одной машине? - программирование
Подтвердить что ты не робот

Можно ли запускать более одного экземпляра кролика на одной машине?

Я хочу создать кластер RabbitMQ в моей машине dev (windows).
Причина в том, что я хотел бы проверить и изучить его.

Можно ли запустить более одного экземпляра кролика на одной машине?
Я предполагаю, что мне нужно:

  • Измените порт прослушивания
  • Измените папку appdata (C:\Users\MyUser\AppData\Roaming)
  • Измените порт плагина ui, чтобы я мог просматривать все экземпляры.
  • Удалить службу и запустить из cli

Кто-нибудь попробовал? Есть ли известный гид?

4b9b3361

Ответ 1

Этот поток содержит подробные сведения о том, что вам нужно. Из ответов нитей (прокрутка вниз):

Следующие параметры необходимы для разделения времени выполнения nodeполностью, позволяя им совместно использовать установленную базу кода.

RABBITMQ_CONFIG_FILE/etc/rabbitmq/rabbitmq

RABBITMQ_MNESIA_BASE/var/lib/rabbitmq/mnesia

RABBITMQ_LOG_BASE/var/log/rabbitmq

RABBITMQ_ENABLED_PLUGINS_FILE/etc/rabbitmq/enabled_plugins

Ответ 2

Теперь официальная документация RabbitMQ содержит раздел "Кластер на одной машине" , в котором описывается, как запускать несколько узлов кролика на одной машине.

См. https://www.rabbitmq.com/clustering.html

Ответ 3

Один подход, который я предпринял при тестировании кластеризации на моей машине dev, заключался в том, чтобы запустить несколько виртуальных машин. У меня было несколько для Кролика и один для HAProxy.

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

NB. Я решил интерпретировать вашу "одну машину" как означающую физическую машину для целей этого ответа. Если ваш смысл был "виртуальным", я откладываю на другой ответ, поставленный против этого вопроса, в котором подробно описывается, как это сделать.

Ответ 4

Вы можете запустить несколько экземпляров RabbitMQ на 1 машине без кластеризации. Вам просто нужно изменить порты и имя узла в файлах rabbitmq-defaults, rabbitmq-env и config.

Для Linux:

  1. Убедитесь, что у вас установлен Erlang, затем загрузите последнюю версию для Generic Unix и распакуйте ее.

  2. Перейдите в папку установки rabbit (только что извлеченную папку)/sbin → откройте файл rabbitmq-defaults и измените SYS_PREFIX = $ {RABBITMQ_HOME}, чтобы создать папку по умолчанию где-то еще, вы должны указать путь к извлеченной папке, например, , /home/YOUR-USERNAME/rabbit_server-msg (это моя извлеченная папка).

  3. Измените имя узла. Откройте файл rabbitmq-env → найдите NODENAME = rabbit @$ {HOSTNAME} и измените имя кролика (например, rabbitMSG @$ {HOSTNAME}). В этом же файле найдите и измените DEFAULT_NODE_PORT, по умолчанию его значение равно 5672. Порт кластеризации по умолчанию установлен в $ {DEFAULT_NODE_PORT} + 20000. Таким образом, если вы установите порт узла по умолчанию 5673, порт кластеризации будет 25673.

  4. Установите плагин управления. Перейдите к rabbitmq-server/sbin и запустите "./rabbitmq-plugins enable rabbitmq_management"

  5. Порты AMQP и HTTP необходимо изменить в файле конфигурации. Скопируйте файл rabbitmq.config.example и вставьте его в rabbit_server-msg (опять же, это мой извлеченный forlder)/etc (это папка по умолчанию, созданная RabbitMQ из шага 1)/rabbitmq, переименуйте файл в просто rabbitmq. конфигурации. Если вы не можете найти файл rabbitmq.config.example в папке rabbit, создайте файл с именем rabbitmq.config и скопируйте код из их GitHub.

  6. Откройте файл конфигурации и раскомментируйте следующие строки:

- {tcp_listeners, [5672]} и измените номер порта (рекомендуется установить тот же номер, что и DEFAULT_NODE_PORT в rabbitmq-env, например, 5673).

- {listener, [{port, 12345} и измените номер порта (это для плагина управления).

ПРИМЕЧАНИЕ. Будьте осторожны с запятыми и скобками. Удалите запятую после {tcp_listeners, [5672]}. Кроме того, после {listener, [{port, 12345} закройте скобки, например, так]]. В противном случае, когда вы попытаетесь запустить. /rabbitmq-server, он покажет ошибки (он покажет вам, в какой строке в файле конфигурации у вас есть ошибка, чтобы вы могли ее исправить).

Теперь запустите сервер и войдите в систему менеджера. Проверьте порты прослушивания в разделе "Порты и контексты", чтобы увидеть, вносили ли вы изменения. Сделайте это для других серверов, и вы сможете запустить столько серверов, сколько вы хотите, на 1 машине с разными портами прослушивания. Для автоматического запуска сервера RabbitMQ при входе в систему используйте программу "Автозагрузка".

Для Windows:

Настройка RabbitMQ для Windows выглядит практически так же, как в Linux.

  1. Убедитесь, что у вас установлен Erlang, затем загрузите последнюю версию для Windows и распакуйте ее.

  2. Перейдите в rabbit (папка, которую вы только что извлекли)/sbin → откройте файл rabbitmq-defaults.bat и измените RABBITMQ_BASE, чтобы создать папку по умолчанию где-то еще, вы должны указать путь к извлеченной папке, например. C: /rabbit_server-msg (это моя извлеченная папка).

  3. Измените имя узла. Откройте файл rabbitmq-env.bat → найдите RABBITMQ_NODENAME = rabbit @! HOSTNAME! и измените имя кролика (напр. rabbitMSG @! HOSTNAME!). В этом же файле найдите и измените RABBITMQ_NODE_PORT, по умолчанию он установлен на 5672. Чтобы изменить порт кластеризации по умолчанию, найдите и измените RABBITMQ_DIST_PORT, по умолчанию его установите на 25672.

  4. Установите плагин управления. Перейдите к rabbit-server/sbin и запустите "rabbitmq-plugins.bat enable rabbitmq_management".

  5. Порты AMQP и HTTP необходимо изменить в файле конфигурации. Создайте файл с именем rabbitmq.config и скопируйте код из их GitHub. Поместите файл в папку установки /RabbitMQ (например, моя конфигурация находится в C: /rabbit_server-msg/RabbitMQ). Также в проверке CONFIG_FILE файла rabbitmq-defaults.bat должно быть установлено значение CONFIG_FILE =! RABBITMQ_BASE!\Rabbitmq.

  6. Откройте файл конфигурации и раскомментируйте следующие строки:

- {tcp_listeners, [5672]} и измените номер порта (рекомендуется установить тот же номер, что и RABBITMQ_NODE_PORT в rabbitmq-env, например, 5673).

- {listener, [{port, 12345} и измените номер порта (это для плагина управления).

ПРИМЕЧАНИЕ. Будьте осторожны с запятыми и скобками. Удалите запятую после {tcp_listeners, [5672]}. Кроме того, после {listener, [{port, 12345} закройте скобки, например, так]]. В противном случае, когда вы попытаетесь запустить rabbitmq-server.bat, он покажет ошибки (он покажет вам, в какой строке в файле конфигурации у вас есть ошибка, чтобы вы могли ее исправить).

Теперь запустите сервер и войдите в систему менеджера. Проверьте порты прослушивания в разделе "Порты и контексты", чтобы увидеть, вносили ли вы изменения. Сделайте это для других серверов, и вы сможете запустить столько серверов, сколько вы хотите, на 1 машине с разными портами прослушивания.

Источник: https://lazareski.com/multiple-rabbitmq-instances-on-1-machine/