开发老哥优化了消息队列,发布至服务器端时发现rabbitmq管理界面进不去了
遂重启rabbitmq:
rabbitmqctl stop :停止rabbitmq
rabbitmq-server restart : 重启rabbitmq
然后就报错了。。。
=INFO REPORT==== 28-Jul-2019::00:22:01 ===
Error description:
{error,
{cannot_delete_plugins_expand_dir,
["/var/lib/rabbitmq/mnesia/rabbit@***-plugins-expand",
{cannot_delete,
"/var/lib/rabbitmq/mnesia/rabbit@***-plugins-expand/rabbitmq_web_dispatch-3.6.6/ebin/rabbit_webmachine.beam",
eacces}]}}
Log files (may contain more information):
/var/log/rabbitmq/rabbit@****.log
/var/log/rabbitmq/rabbit@****.log
Stack trace:
[{rabbit_plugins,setup,0,[{file,"src/rabbit_plugins.erl"},{line,71}]},
{rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,280}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,403}]},
{init,start_it,1,[]},
{init,start_em,1,[]}]
说是无法删除/var/lib/rabbitmq/mnesia/rabbit@****-plugins-expand和/rabbit_webmachine.beam
那好吧我手动删掉
删掉之后继续重启
果然又报错了
=INFO REPORT==== 28-Jul-2019::00:00:00 ===
Error description:
{could_not_start,rabbit,
{{case_clause,
{error,
{{shutdown,
{failed_to_start_child,
{ranch_listener_sup,
{acceptor,{0,0,0,0,0,0,0,0},5672}},
{shutdown,
{failed_to_start_child,ranch_acceptors_sup,
{listen_error,
{acceptor,{0,0,0,0,0,0,0,0},5672},
eaddrinuse}}}}},
{child,undefined,'rabbit_tcp_listener_sup_:::5672',
{tcp_listener_sup,start_link,
[{0,0,0,0,0,0,0,0},
5672,ranch_tcp,
[inet6,
{backlog,128},
{nodelay,true},
{linger,{true,0}},
{exit_on_close,false}],
rabbit_connection_sup,[],
{rabbit_networking,tcp_listener_started,[amqp]},
{rabbit_networking,tcp_listener_stopped,[amqp]},
10,"TCP Listener"]},
transient,infinity,supervisor,
[tcp_listener_sup]}}}},
[{rabbit_networking,start_listener0,5,
[{file,"src/rabbit_networking.erl"},{line,294}]},
{rabbit_networking,'-start_listener/5-lc$^0/1-0-',5,
[{file,"src/rabbit_networking.erl"},{line,282}]},
{rabbit_networking,start_listener,5,
[{file,"src/rabbit_networking.erl"},{line,282}]},
{rabbit_networking,'-boot_tcp/1-lc$^0/1-0-',2,
[{file,"src/rabbit_networking.erl"},{line,132}]},
{rabbit_networking,boot_tcp,1,
[{file,"src/rabbit_networking.erl"},{line,132}]},
{rabbit_networking,boot,0,
[{file,"src/rabbit_networking.erl"},{line,127}]},
{rabbit_boot_steps,'-run_step/2-lc$^1/1-1-',1,
[{file,"src/rabbit_boot_steps.erl"},{line,49}]},
{rabbit_boot_steps,run_step,2,
[{file,"src/rabbit_boot_steps.erl"},{line,49}]}]}}
5672端口占用,奇怪我不是停止服务了吗?
[root@*** bin]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 14639/java
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 2308/redis-server *
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14815/nginx: master
tcp 0 0 0.0.0.0:30000 0.0.0.0:* LISTEN 14639/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 14639/java
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 12764/perl
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 2418/epmd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2057/sshd
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 14639/java
tcp6 0 0 :::5672 :::* LISTEN 29644/docker-proxy
tcp6 0 0 :::3306 :::* LISTEN 17809/mysqld
tcp6 0 0 :::6379 :::* LISTEN 2308/redis-server *
tcp6 0 0 :::4369 :::* LISTEN 2418/epmd
tcp6 0 0 :::15672 :::* LISTEN 29617/docker-proxy
被docker占用?询问同事得知之前的rabbitmq是在docker内运行的,但是服务器上也安装了,于是直接kill掉docker
然后以服务方式启动rabbitmq
[root@*** bin]# systemctl restart rabbitmq-server.service
[root@*** bin]#
[root@*** bin]#
[root@*** bin]# systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-07-28 01:14:43 CST; 7s ago
Process: 27677 ExecStop=/usr/sbin/rabbitmqctl stop (code=exited, status=0/SUCCESS)
Main PID: 28048 (beam.smp)
Status: "Initialized"
Memory: 65.7M
CGroup: /system.slice/rabbitmq-server.service
├─28048 /usr/lib64/erlang/erts-5.10.4/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_se...
├─28357 inet_gethost 4
└─28358 inet_gethost 4
Jul 28 01:14:41 *** rabbitmq-server[28048]: RabbitMQ 3.6.6. Copyright (C) 2007-2016 Pivotal Software, Inc.
Jul 28 01:14:41 *** rabbitmq-server[28048]: ## ## Licensed under the MPL. See http://www.rabbitmq.com/
Jul 28 01:14:41 *** rabbitmq-server[28048]: ## ##
Jul 28 01:14:41 *** rabbitmq-server[28048]: ########## Logs: /var/log/rabbitmq/rabbit@***.log
Jul 28 01:14:41 *** rabbitmq-server[28048]: ###### ## /var/log/rabbitmq/rabbit@***-sasl.log
Jul 28 01:14:41 *** rabbitmq-server[28048]: ##########
Jul 28 01:14:41 *** rabbitmq-server[28048]: Starting broker...
Jul 28 01:14:43 *** rabbitmq-server[28048]: systemd unit for activation check: "rabbitmq-server.service"
Jul 28 01:14:43 *** systemd[1]: Started RabbitMQ broker.
Jul 28 01:14:43 *** rabbitmq-server[28048]: completed with 6 plugins.
启动成功,偶然发现以服务方式启动不会卡界面,使用rabbitmq-server启动的时候会停留在前台
[root@*** bin]# rabbitmq-server start
RabbitMQ 3.6.6. Copyright (C) 2007-2016 Pivotal Software, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /var/log/rabbitmq/[email protected]
###### ## /var/log/rabbitmq/[email protected]
##########
Starting broker...
completed with 6 plugins.
想ctrl+c继续输命令又害怕停掉服务,只能克隆一个会话继续操作,以服务方式启动确实方便很多
又发现新发布的war包没有被tomcat自动解析。。。
重启tomcat
完成
进rabbitmq的管理界面15672,发现以前的用户名+密码登不进去,估计是因为以前用的docker里的rabbitmq,重新创建用户,给权限
rabbitmqctl add_user admin admin
rabbitmqctl set_permissions admin ".*" ".*" ".*"
好了
网上现有的解决方案都是 /var/lib/rabbitmq/mnesia/rabbitmq@localhost/recovery.dets文件的锅,删除该文件重新启动即可,一开始百度没找到解决方案,遂查看日志,找到原因。记录一下