记录一次rabbitmq维护经历

开发老哥优化了消息队列,发布至服务器端时发现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文件的锅,删除该文件重新启动即可,一开始百度没找到解决方案,遂查看日志,找到原因。记录一下

发布了9 篇原创文章 · 获赞 3 · 访问量 598

猜你喜欢

转载自blog.csdn.net/qq_36464516/article/details/97580977