Назад | Перейти на главную страницу

Не удается перезапустить службу RabbitMQ в Windows

Я на короткое время остановил RabbitMQ на своем сервере Windows (2012). Однако, когда я попытался перезапустить его, он снова выключился примерно через 30 секунд.

В журнале событий Windows было следующее сообщение:

RabbitMQ: машина Erlang остановилась добровольно. Служба не перезапускается, так как OnFail игнорируется.

В журнале ошибок RabbitMQ было следующее сообщение:

=ERROR REPORT==== 12-Aug-2013::13:16:59 ===
** Generic server rabbit_web_dispatch_registry terminating 
** Last message in was {add,rabbit_mgmt,
                            [{port,15672}],
                            #Fun<rabbit_web_dispatch.1.31447083>,
                            #Fun<rabbit_mgmt_app.2.5043001>,
                            {[],"RabbitMQ Management"}}
** When Server state == undefined
** Reason for termination == 
** {could_not_start_listener,[{port,15672}],eaddrinuse}

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

Что может быть причиной этого?

Если вы переустанавливаете RabbitMQ и у вас возникают проблемы с его запуском в качестве службы Windows, обходной путь может быть следующим:

В cmd.exe запускаем из папки sbin кролика:

rabbitmq-service.bat remove
rabbitmq-service.bat install
net start rabbitmq

У меня это сработало на Windows 7.

Команда netstat -ab можно использовать, чтобы увидеть, какая программа использует каждый порт. (Обратите внимание, что эти аргументы предназначены только для Windows. Аналогичная команда linux будет netstat -lp. Обе платформы требуют, чтобы пользователь был администратором для выполнения этих команд.)

В этом случае я оставил окно Google Chrome открытым для консоли управления RabbitMQ (http://localhost:15672/), и Chrome каким-то образом использовал порт. После того, как я закрыл вкладку браузера, я смог запустить RabbitMQ.

Остановите RabbitMQ Services, попал в папку C: \ RabbitMQ \ rabbit @ XXXXXX-mnesia \. Если файл recovery.dets составляет 0 КБ, сделайте резервную копию и удалите его, затем перезапустите RabbitMQ. Это должно воссоздать новый recovery.dets размером 6 КБ или более.