erlang 在Ubuntu 18.04上,RabbitMQ未启动,并显示消息“init终止于do_ Boot ,noproc”

uajslkp6  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(268)

I cannot seem to start or install my RabbitMQ server anymore for my Ubuntu 18.04 anymore. I tried to remove and install it again, but it cannot finish the install because configuration fails. When I try to run sudo apt-get install --fix-broken . This is the result of it failing:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 61 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up rabbitmq-server (3.6.10-1) ...
Job for rabbitmq-server.service failed because the control process exited with error code.
See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
● rabbitmq-server.service - RabbitMQ Messaging Server
   Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-08-22 09:16:51 EEST; 5ms ago
  Process: 20997 ExecStartPost=/usr/lib/rabbitmq/bin/rabbitmq-server-wait (code=exited, status=70)
  Process: 20996 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=0/SUCCESS)
 Main PID: 20996 (code=exited, status=0/SUCCESS)

elo 22 09:16:48 ubuntu-dev systemd[1]: Starting RabbitMQ Messaging Server...
elo 22 09:16:49 ubuntu-dev rabbitmq[20997]: Waiting for 'rabbit@ubuntu-dev'
elo 22 09:16:49 ubuntu-dev rabbitmq[20997]: pid is 21001
elo 22 09:16:51 ubuntu-dev rabbitmq[20997]: Error: process_not_running
elo 22 09:16:51 ubuntu-dev systemd[1]: rabbitmq-server.service: Control process exited, code=exited status=70
elo 22 09:16:51 ubuntu-dev systemd[1]: rabbitmq-server.service: Failed with result 'exit-code'.
elo 22 09:16:51 ubuntu-dev systemd[1]: Failed to start RabbitMQ Messaging Server.
dpkg: error processing package rabbitmq-server (--configure):
 installed rabbitmq-server package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then when checking the log files they doesn't provide much more information either. Here is startup_err log file content:

init terminating in do_boot (noproc)

Crash dump is being written to: erl_crash.dump...done'

And here is startup_log file content:

BOOT FAILED
===========

Error description:
   noproc

Log files (may contain more information):
   /var/log/rabbitmq/rabbit.log
   /var/log/rabbitmq/rabbit-sasl.log

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,842}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,281}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,417}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]

=INFO REPORT==== 22-Aug-2018::09:16:49.691453 ===
Error description:
   noproc

Log files (may contain more information):
   /var/log/rabbitmq/rabbit.log
   /var/log/rabbitmq/rabbit-sasl.log

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,842}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,281}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,417}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]

{"init terminating in do_boot",noproc}

The other log files it claim to use for logging are empty. For example log file rabbit@ubuntu-dev.log and rabbit@ubuntu-dev-sasl.log .
I also found this post, which explains to check your hostname in /etc/hostname file but I checked and it's correct.

kazhu@ubuntu-dev:/var/log/rabbitmq$ cat /etc/hostname
ubuntu-dev

I also checked RabbitMQ troubleshoot guide and they said to check log folder permissions and they are right to my eye:

kazhu@ubuntu-dev:/var/log/rabbitmq$ ll
total 48
drwxr-xr-x  2 rabbitmq rabbitmq 4096 kesä  14 06:16  ./
drwxrwxr-x 16 root     syslog   4096 elo   22 00:09  ../
-rw-r--r--  1 rabbitmq rabbitmq    0 kesä  14 06:16 'rabbit@ubuntu-dev.log'
-rw-r--r--  1 rabbitmq rabbitmq 5247 kesä  14 06:16 'rabbit@ubuntu-dev.log.1'
-rw-r--r--  1 rabbitmq rabbitmq  954 touko 28 08:36 'rabbit@ubuntu-dev.log.2.gz'
-rw-r--r--  1 rabbitmq rabbitmq  768 touko 21 07:11 'rabbit@ubuntu-dev.log.3.gz'
-rw-r--r--  1 rabbitmq rabbitmq  708 touko 16 00:12 'rabbit@ubuntu-dev.log.4.gz'
-rw-r--r--  1 rabbitmq rabbitmq  955 touko  7 07:26 'rabbit@ubuntu-dev.log.5.gz'
-rw-r--r--  1 rabbitmq rabbitmq 4264 huhti 22 00:07 'rabbit@ubuntu-dev.log.6.gz'
-rw-r--r--  1 rabbitmq rabbitmq    0 huhti 17 15:58 'rabbit@ubuntu-dev-sasl.log'
-rw-r--r--  1 rabbitmq rabbitmq   95 elo   22 09:16  startup_err
-rw-r--r--  1 rabbitmq rabbitmq 1212 elo   22 09:16  startup_log

Guide also stated that perl chrash dump file contains detailed information of the problem and requires Erlang expertises, which I don't have. So decided to upload the file to my Dropbox for you to see.
Can somebody help me solve this? I've tried some time myself but gave up because cannot figure out what the problem seems to be :/

jk9hmnmh

jk9hmnmh1#

I solved the problem with help of my colleague. I had installed newest erlang and rabbitmq from outside apt source separately. Now when I removed and purged everything related to rabbitmq and erlang, and removed the added apt sources too. Then I just ran sudo apt install rabbitmq-server and it wanted to install erlang packages too because of the dependency. And it installed and everything is working fine after that.
Wanted to share this solution if somebody else has the same problem as me.
UPDATE 9.12.2020:
Someone asked how I removed RabbitMQ and Erlang. I don't fully remember but I think I was following this guide: https://www.rabbitmq.com/install-debian.html .
The point is to remove the installed RabbitMQ and Erlang packages from added repositories and their configuration with

sudo apt purge rabbitmq-server erlang

You might need to search for rest of the erlang packages with

apt list | grep erlang

Then you need to remove added apt repositories. Usually added repositories in Ubuntu goes under /etc/apt/sources.list.d/ folder. Look for files names like rabbitmq and erlang. Make sure you are not deleting any other files!
After this run sudo apt update and apt should remove removed apt repositories. Then just running sudo apt install rabbitmq-server should do the trick and install Erlang package as a dependence. Of course installing this way you get much older version than using added repositories.

相关问题