您的位置:首页 > 大数据 > 人工智能

【问题管理】 -- RabbitMQ启动时报错:Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbl -xe" for details.

2021-04-14 18:28 1496 查看

1.问题背景

基于docker容器yum install安装的RabbitMQ,这里需要修改RabbitMQ下的相关配置文件,我这里关闭了RabbitMQ。

 

修改之后重启RabbitMQ,发现Restart不了了,而且还直接抛出了异常~~尴尬!

异常信息:

Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbl -xe" for details.

于是在网上查询了一下这个报错的解决方法,Nice,还真找到了!

 

1.1.解决方法

①使用命令journalctl -xe,定位到详细的报错日志信息;

journalctl -xe

通过这个执行到命令行后,会打印出非常多的问题信息,让我们继续往下定位到ERROR处:

 

 好的,问题大致清楚了,是启动时的端口被占用了,导致的起不来!

 

②执行rabbitmq-server -detached,重启编译并运行RabbitMQ服务,会打印出更标准的日志信息:

rabbitmq-server –detached

 

 这里可以看到基本就是云服务器上的一个process进程占用了port 25672端口,导致MQ不能使用这个端口进行通讯,启动不来!

 

③通过netstat -lnp | grep 25672命令,找到罪魁祸首,是哪个进程搞得鬼!

netstat -lnp | grep 端口号

 

 可以看到这里是docker上面的一个进程占用了25672端口,因为我的RabbitMQ是运行在docker容器中的,这里我先关闭了RabbitMQ Service,但是docker本身并没有关闭,那么同docker一起运行的还有erlang安装环境(RabbitMQ本身依赖),那么可能就占用了25672端口,所以我就一起把dokcer也重新启动了,相当于关闭了erlang运行环境等等的东西。

 

在次启动RabbitMQ服务,正常启动运行!问题解决!

 

1.2.问题总结及相关类似问题

这个问题简单说就是关闭RabbitMQ太随意导致的,一般我们关闭容器内的RabbitMQ可以直接关闭dokcer容器(鉴于容器内的服务只有一个RabbitMQ的情况下),或者重启RabbitMQ时,需要看下有没有其它依赖。

问题关联搜索了两篇比较相似的博文:

RabbitMQ安装时遇到的若干问题

RabbitMq入门到精通-ERROR: distribution port 25672 in use by rabbit

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐