一. 背景
在三台 CentOS 7.x上部署了RabbitMQ集群,如下:
服务器IP | hostname | 节点说明 | 端口 | 管控台地址 |
192.168.31.101 | master | rabbitmq master | 5672 | http://192.168.11.71:15672 |
192.168.31.102 | slave1 | rabbitmq slave | 5672 | http://192.168.11.72:15672 |
192.168.31.103 | slave2 | rabbitmq slave | 5672 | http://192.168.11.73:15672 |
集群部署教程可参考:RabbitMQ集群环境搭建-镜像模式
在三台虚拟机关闭之后,第二天启动虚拟机后,执行如下命令后,
rabbitmq-server -detached
使用 lsof -i:5672 查看无任何返回信息:
三台虚拟机均是如此,于是开始尝试。
二. 主节点master成功启动尝试
首先是在 master节点上进行尝试,查看日志文件 :
cd /var/log/rabbitmq
vim startup_err
但是并没有找到有用的信息:
于是开始网上查找,在删除了一个文件之后,master 节点使用 rabbitmq-server -detached 命令启动成功。命令如下:
cd /var/lib/rabbitmq/
mv mnesia mnesia.bak # 重命名
rabbitmq-server -detached #启动
参考教程:记一次RabbitMQ服务器异常断电之后,服务重启异常的处理过程
如果起不来或者关不掉,首先可能是这个文件搞的鬼!!!
不过在另外两个从节点上按照此方法行不通。还是起不来。
三. 两个从节点
1. 从节点 slave1 启动解决
从节点 slave1 启动失败提示这个信息:
这个插件 rabbitmq_delayed_message_exchange 是在另一个报错的时候,我删除掉了,但是删掉之前没有禁用掉这个插件,导致的启动失败。禁用插件命令:
rabbitmq-plugins disable rabbitmq_delayed_message_exchange
把这个插件添加回去就好了。
2. 但是从节点 slave2 使用上面的解决方案后,依然无法启动
最终我放弃找问题了,决定对 slave2 重新安装,安装步骤如下:
(1) 卸载
rpm -qa|grep rabbitmq # 查看安装的 rabbitmq
rpm -e --nodeps rabbitmq-server # 卸载
(2) 此时注意一定要手工删除rabbitmq目录
rm -rf /etc/rabbitmq
rm -rf /usr/lib/rabbitmq
不然,重装后启动节点会报错。
(3)卸载之后再执行安装命令:
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
参考教程:Centos7.x安裝 RabbitMQ_Qynwang的博客-CSDN博客
https://www.cnblogs.com/sky-cheng/p/10750497.html
不过后来我仔细思考了一下,主节点无法启动有可能只是刚打开虚拟机,可能 RabbitMQ 还没有加载好,只是猜测,无从验证,以后重启虚拟机后还是等一会再启动 RabbitMQ 集群吧。