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

    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

  • 相关阅读:
    【转载】这才是真正的表扩展方案
    【转载】啥,又要为表增加一列属性?
    【转载】这才是真正的分布式锁
    mysql备份表sql
    selenium定位当前处于那个iframe(frame)中
    MQ手动推送消息
    报表导出时间格式数据多‘0‘
    python里的原始字符串
    qq邮箱设置授权码方法(jenkins)
    Apache与Tomcat有什么关系和区别(转)
  • 原文地址:https://www.cnblogs.com/yif0118/p/14659365.html
Copyright © 2011-2022 走看看