一次rabbitmq故障问题解决记录

1. 一次rabbitmq故障问题解决记录

  测试环境的rabbitmq集群,因为虚拟化平台故障,导致三台rabbitmq集群节点全部关机。修复虚拟化平台的故障,启动3台rabbitmq集群节点。故障如下:

  1. rabbitmq磁盘节点正常;

  2. rabbitmq两个内存节点无法启动;报错大体如下:

[[email protected] [email protected]]# service rabbitmq-server start
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
[[email protected] [email protected]]# tail -f /usr/local/rabbitmq_server/var/log/rabbitmq/rabbit\@SZ6FTST0MQ00104.log

=INFO REPORT==== 25-Jun-2019::16:17:22 ===
Error description:
   {could_not_start,rabbit,
       {cannot_create_standalone_ram_node,{rabbit,start,[normal,[]]}}}

Log files (may contain more information):
   /usr/local/rabbitmq_server/var/log/rabbitmq/[email protected]
   /usr/local/rabbitmq_server/var/log/rabbitmq/[email protected]

  解决方案主要如下:

#1.  出现故障的内存节点操作:

cd /usr/local/rabbitmq_server/var/lib/rabbitmq/mnesia

[[email protected] mnesia]# ll
total 8
drwxr-xr-x 5 root root 4096 Jun 25 16:54 [email protected]
drwxr-xr-x 9 root root 4096 Jun 25 16:53 [email protected]
[[email protected] mnesia]#

# 将两个目录删除掉,这两个目录是元数据信息

# 然后重新启动rabbitmq的服务 service rabbitmq-server start  发现服务已经启动成功

# 服务启动成功之后马上重新加入到rabbitmq的主节点(磁盘节点),会出现以下的报错:

Clustering node [email protected] with [email protected] ...
Error: {inconsistent_cluster,"Node [email protected] thinks it‘s clustered with node [email protected], but [email protected] disagrees"}

# 解决的办法就是在主节点(磁盘节点)上面强制删除两个内存节点的信息

2.2   磁盘节点操作

# 因为我们的master节点属于管理节点,内存节点都需要加入到以磁盘节点为主的集群,首先从磁盘节点删除掉两个内存节点的信息

rabbitmqctl forget_cluster_node [email protected]
rabbitmqctl forget_cluster_node [email protected]

# 在两个内存节点操作
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram [email protected]
abbitmqctl start_app
rabbitmqctl cluster_status

[[email protected] ~]# rabbitmqctl cluster_status
Cluster status of node [email protected] ...
[{nodes,[{disc,[[email protected]]},
         {ram,[[email protected],[email protected]]}]},
 {running_nodes,[[email protected],[email protected],
                 [email protected]]},
 {cluster_name,<<"[email protected]">>},
 {partitions,[]},
 {alarms,[{[email protected],[]},
          {[email protected],[]},
          {[email protected],[]}]}]
[[email protected] ~]#

#删除mnesia这个的目的就是清除集群的元数据信息,然后节点就会独立了,必须重新加入集群才可以。重新加入集群的时候报错的原因是因为master节点上面已经有两个内存节点的信息,需要先删除掉,然后再重新加入到集群,是吧。
还有我发现删除掉mnesia之后,重启rabbitmq服务,这个节点就会有集群信息,但是集群信息里面只有自己一个节点的信息;

博文的更详细内容请关注我的个人微信公众号 “云时代IT运维”,本公众号旨在共享互联网运维新技术,新趋势; 包括IT运维行业的咨询,运维技术文档分享。重点关注devops、jenkins、zabbix监控、kubernetes、ELK、各种中间件的使用,比如redis、MQ等;shell和python等运维编程语言;本人从事IT运维相关的工作有十多年。2008年开始专职从事Linux/Unix系统运维工作;对运维相关技术有一定程度的理解。本公众号所有博文均是我的实际工作经验总结,基本都是原创博文。我很乐意将我积累的经验、心得、技术与大家分享交流!希望和大家在IT运维职业道路上一起成长和进步;

原文地址:https://blog.51cto.com/zgui2000/2413916

时间: 2024-08-21 19:23:43

一次rabbitmq故障问题解决记录的相关文章

Centos6安装FreeSWITCH 1.5时./configure问题解决记录

系统:Centos 6.4 64位: FreeSWITCH版本:1.5 具体的安装过程参考FreeSWITCH 官网wiki (也可以参考我的博客<Centos6安装FreeSWITCH>) 从FreeSWITCH 安装过程./configure 时遇到sqlite 的问题开始: checking for sqlite3 >= 3.6.20… Package sqlite3 was not found in the pkg-config search path. Perhaps you

Python常见问题解决记录1-Non-ASCII character &#39;\xe7&#39;错误

1.编译运行出现错误:SyntaxError: Non-ASCII character '\xe7' in file .. , but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 问题原因:Python在默认状态下不支持源文件中的编码所致 解决办法:按照错误建议网址查看http://www.python.org/peps/pep-0263.html 1.文件头部添加如下注释码: # codi

计通机房监控故障问题解决!

许多企业在机房安装监控系统后,开始进入试运行阶段并交付使用,在使用的过程中也许会出现故障现象.这些故障会影响系统的正常运行或整体性能和质量不理想.那么如何处理这些常见的问题呢?深圳计通今天来给大家讲讲其中的八项故障问题! 一.一些与监控主机相连的线路,如果处理不当,会引起断线.短路.电线间绝缘不良.错误布线和其他设备(或部件)损坏.性能下降或设备本身没有损坏,但反映了这种现象存在于电子设备或部件,特别是一些连接器的质量差,布线工艺不良也是常见问题的原因. 解决方法:在这种情况下就需要根据故障现象

运行roscore出现unable to contact my own server无法启动小海龟的部分故障问题解决

运行roscore后,出现下图这种情况(unable to contact my own server) 原因是找不到http://后面那些,ping不到域名或IP. 参考http://www.ros.org/wiki/ROS/NetworkSetup官方的解决办法还有 参考 无法运行roscore,小海龟的部分故障问题解决 - WY_star1的博客 - CSDN博客 https://blog.csdn.net/WY_star1/article/details/81603977 以下是我解决这

u-boot从nand 启动时的问题解决记录

u-boot从nand 启动时的问题解决记录 问题描述: 使用u-boot-1.1.6版本u-boot移植到JZ2440开发板上,当前已经能够从Nor启动,但是不能从Nand正常启动(u-boot大小为95.8k,已经超过的2440从Nand启动时所能拷贝的4k大小),当前代码中只具备从Nor启动时,重定位代码到SDRam的功能,所以需要添加从Nand启动时将u-boot代码重定位到SDRam中,之后跳到SDRam中运行: 针对上述需求中Nand操作部分增加代码如下: /* s3c2440中na

eclipse连接mysql问题解决记录

问题的提出: 我在先前成功更改了电脑的jdk版本,而最后burpsuit专业版还是石沉大海.之后由于上java web课程,我再次操刀暑期正常运行java web的eclipse,但是没想到被eclipse教做人了.下面我将解决过程中的收获分享如下. 问题的解决: 有人问我为什么不用idea,我只想说之前看的书用的是eclipse,而且一想到框架的配置如此复杂,就不想去看idea了(太菜了).由于最近也比较忙,问题解决花了两天,有些报错和解决可能对应不上,所以有几点直接说了. 1.注意java

关于Nginx配置Https server后,乱跳的问题解决记录

大部分的服务器上,我们会在一个Nginx服务下配置多个vhost,以最大化运用服务器资源.然而,为其中一个vhost域名启用 HTTPS 之后,发现百度统计的实时访客或入口页中,存在一些来自其它域名的请求.即通过 https://some-other-domain.com/some-url 来访问对应的 https://www.domain.com/some-url 结果就是 Google 浏览器显示了一个安全警告页面,认为这是一个不安全的网页.因为我只配置了 www.domain.com 的

python scikit-learn 环境搭建问题解决记录

之前一直用pycharm 里内置的pip进行python 包的安装,今天装scikit-learn时没报错,但是报scipy包不识别,pip下载也报错,几经周折和网上查询. 下载anaconda 集成插件,最终问题解决:参考自

[白开水]-故障-启动类故障排错记录- Read-only file system

问题问题来源 由于磁盘fsck检查异常,导致系统挂载以只读模式挂载根分区. 如果fsck检查后以只读模式挂载/分区,很可能fsck已经无法修复分区了 问题描述 #开机启动会出现fsck对/分区fsck检测 Checking all file systems. [/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/xvda3 /dev/xvda3 contains a file system with errors, check forced. /dev/xvd