一、错误场景再现:
1.1 重启Rabbitmq时的报错场景:
[root@public44 ~]# systemctl restart rabbitmq-server
1.2 查看Rabbitmq的启动日志:
[root@public44 rabbitmq]# tail -fn 500 rabbit@huaweicloud.log-20170724
-
Rabbitmq的日志存放路径默认在/var/log/rabbitmq,找到相关日志信息
二、问题点定位和解决:
2.1 通过错误日志定位‘无法重启’的故障问题
按照上面的理解,应该是这个意思: badmatch,{error,nxdomain}:匹配失败,域名错误。
域名?那不就是URL?URL能有什么错误,对了,URL不是有端口号么?会不会端口号被占用了,无法启动?
2.2、查看Rabbitmq-server的端口号占用情况
-
Rabbitmq-server默认占用的端口号有:5672、15672、25672、4369
[root@public44 ~]# ss -tnlp |grep 15672 [root@public44 ~]# ss -tnlp |grep 5672 [root@public44 ~]# ss -tnlp |grep 25672 [root@public44 ~]# ss -tnlp |grep 4369
-
我们发现,15672端口确实是被占用的,我们再看下pid=50850的进程是什么东西?
[root@public44 ~]# ps aux |grep 50850
-
可以看到,仍然是rabbitmq的进程在占用,可能之前restart重启的时候,没有关闭干净,所以我们手动kill掉!
[root@public44 ~]# kill -9 50850
三、解决结果确认:
3.1、再次启动Rabbitmq-server:成功
[root@public44 ~]# systemctl start rabbitmq-server [root@public44 ~]# systemctl status rabbitmq-server
3.2、查看Rabbitmq-Server服务监听端口:正常
[root@public44 ~]# ss -tnlp |grep 5672