2015-10-07 3 views
7

Я использую RabbitMQ. По какой-то причине служба rabbitMQ останавливается, как только вы ее начинаете. Я увидел следующее сообщение об ошибке в журнале событий:Машина Erlang остановилась мгновенно (имя источника конфликта?). Служба не перезапускается, так как OnFail установлен для игнорирования

RabbitMQ: Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore. 

Кто-то сказал мне, чтобы запустить эту команду: erl -sname rabbit

Эта команда генерирует следующий вывод:

{(no error logger present")i neirtr otre: r"mEirnraotri nign ipnr odcoe_sbso o< 
t0".,2{.b0a>d awrigt,h[ {eexrilt_p rviaml_uleo:a d{ebra,dcahregc,k[_{feirlle__pr 
reismu_llto,a3d,e[r{,fcihleec,k"_efrill_e_prreismu_llto,a3d,e[r{.feirlle",}\,"{e 
lriln_ep,r29i3m}_]l}o,a{dienri.te,rgle\t"_}b,o{olti,n1e,,[2{9f3i}l]e},,"{iinniit 
t.,egrelt"_}b,o{olti,n1e,,[78{9f}i]l}e,,{\i"niinti,tg.eetr_lb\o"o}t,,{2l,i[n{ef, 
i7l8e9,}"]i}n,i{ti.neirtl,"g}e,t{_lbionoet,,7762},][}{,f{iilnei,t\,"dion_ibto.oe 
tr,l3\,"[}{,f{illien,e",i77n6i}t].}e,r{li"n}i,t{,ldion_eb,o74o3t},]3},][}{}f 
ile,\"init.erl\"},{line,743}]}]}\n" 

Я не уверен, как интерпретировать это вывод. Интересно, что ошибка связана с RabbitMQ или erlang.

Я понятия не имею, как это осуществить. Пожалуйста, предложите.

+0

Хорошо, добро пожаловать в клуб! Я сижу и занимаюсь поиском - есть аналогичная проблема, в результате которой вы описываете ошибку. Я удалил старую версию и попытался установить 3.5.6. Затем я запустил файл «rabbitmq-server.bat», который показывает мне, что он пытается войти в каталог c: \ logs, который в моем поле является каталогом ..... Следующие часы, которые я потратил на изменение logdirectory, но все мои попытки изменить его, не удалось. Если я удалю этот каталог, начнется кролик. Таким образом, он, кажется, игнорирует все мои попытки исключить все лог-определения с помощью configfile или переменной окружения. – mabra

ответ

0

Я нашел конфликт имен с переменной env, использую с годами - значит, это не проблема с предыдущей версией. У меня есть «Журналы», и приложения будут записываться в этот каталог, как правило, со своими подкаталогами. RMQ использует одно и то же имя переменной и означает обычное имя файла. Таким образом, использование: «C: \ Users \ rabbit \ AppData \ Roaming \ RabbitMQ \ log \ log» заставило его работать на меня - это в частной среде пользователей кролика. Таким образом, глобальные настройки теперь не видны кроликом. Уфф. И похоже, что это действительно означает имя файла, и после того, как я снова изменил его на «[email protected]», он записывается как более ранняя версия. Сервис начинается сейчас для меня - но это было действительно грязно, и я не доверяю этому на данный момент ;-)

+0

Где я могу найти пользовательские переменные environement для пользователей кролика? Каково имя переменной, которую вы задали? Можете ли вы предоставить мне больше информации. – SharpCoder

+0

На моей машине я не вижу никакой переменной environement для rabbitmq. Когда я нажимаю run и набираю '% APPDATA%', я не вижу в нем папку rabbitmq. Интересно, где можно найти все переменные, которые использует rabbitmq? – SharpCoder

0

С моей точки зрения, следует запускать такую ​​услугу под своим собственным аккаунтом. Если служба уже существует, создайте локальную учетную запись пользователя - я использовал «кролик» и дал ему пароль. Учетная запись, которую я создал, получила от меня право, но я сейчас просто не знаю, это нужно. По крайней мере, этого не должно быть - увидим это позже. Если у вас есть учетная запись/учетные данные, перейдите в диспетчер служб и щелкните свойства службы. На второй вкладке («войти в систему») отметьте «эту учетную запись» и введите имя пользователя для пароля. Если у вас есть учетная запись для службы, вы можете войти в систему с пользователем. Run service with specific account Затем вы можете указать переменные среды с областью пользователя. Для этого войдите в систему с созданным пользователем. Перейти к ControlPanel/System и нажмите кнопку «продвинутым»: See bottom: Environment variables

В окружающей среде UI, введите конкретные пользовательские переменные в верхней панели: Users variables at top panel

Примечание: Это не мой пользователь кролика, потому что я в настоящее время не может войти туда. Переменные, введенные мной - не гарантированы, являются правильными -

RABBITMQ_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ 
RABBITMQ_CONFIG_FILE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\rabbitmq 
RABBITMQ_LOGS=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log 
RABBITMQ_LOG_BASE=C:\Users\rabbit\AppData\Roaming\RabbitMQ\log 
RABBITMQ_NODE_IP_ADDRESS=192.168.26.3 

Это работает для меня. Последний раз, когда я его установил - несколько лет назад - лучше было понять - на этот раз, извините, я не ... Но сделал это workig.

2

Я просто запустить в эту проблему настраиваете RabbitMQ как сервис вверх на новом сервере Windows.Единственное, что я могу подумать, это сломало для меня переименование нового окна окна после установки службы RabbitMq, но перед его тестированием в первый раз.

Прежде всего, я заметил, что он работает как приложение в порядке. Я решил его, установив службу еще раз, используя команду из manual install instructions:

rabbitmq-service install 

Если предположить, что у вас есть ваш переменный путь включены для каталога RabbitMQ SBIN.