rabbitmq 高可用集群部署踩坑

简介: rabbitmq 高可用集群部署踩坑

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!

问题描述

今天在搭建rabbitmq集群时使用rabbitmqctl status碰到如下问题:

Status of node rabbit@iZwz9cxht3eh2v5xk5yqx4Z ...
Error: unable to perform an operation on node 'rabbit@iZwz9cxht3eh2v5xk5yqx4Z'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more
 * Consult server logs on node rabbit@iZwz9cxht3eh2v5xk5yqx4Z

DIAGNOSTICS
===========

attempted to contact: [rabbit@iZwz9cxht3eh2v5xk5yqx4Z]

rabbit@iZwz9cxht3eh2v5xk5yqx4Z:
  * unable to connect to epmd (port 4369) on iZwz9cxht3eh2v5xk5yqx4Z: nxdomain (non-existing domain)


Current node details:
 * node name: 'rabbitmqcli-10319-rabbit@iZwz9cxht3eh2v5xk5yqx4Z'
 * effective user's home directory: /var/lib/rabbitmq
 * Erlang cookie hash: 48iUfALoSn26msGydd+V/g==

问题分析

主要看错误提示信息

  • Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
    • CLI tool fails to authenticate with the server (e.g. due to CLI
      tool's Erlang cookie not matching that of the server)
  • Target node is not running

我们可以根据上面错误依次排查

提示一:*无法访问目标节点(例如,由于主机名解析、TCP连接或防火墙问题)

#查看firewall状态
firewall-cmd --state
#查看iptable策略
iptables -nL

提示二:*CLI工具无法与服务器进行身份验证(例如,由于CLI工具的Erlang cookie与服务器的Erlang cookie不匹配)

查看/var/lib/rabbitmq/.erlang.cookie文件md5是否与其他的cookie一致,一般windows会有多个.erlang.cookie文件,只需要将其中一个复制过去即可

提示三:*目标节点未运行

#查看rabbitmq是否为running状态
systemctl status rabbitmq-server

如果上述提示无法解决问题,那么再继续往下看

rabbit@iZwz9cxht3eh2v5xk5yqx4Z: * unable to connect to epmd (port
4369) on iZwz9cxht3eh2v5xk5yqx4Z: nxdomain (non-existing domain)

提示四:*无法连接到iZwz9cxht3eh2v5xk5yqx4Z上的epmd(端口4369)

该提示是表示无法解析到主机名(我本人的是这个问题),需要修改配置文件rabbitmq1为自己的主机名,然后重启。

[root@iZwz9cxht3eh2v5xk5yqx4Z rabbitmq-server-3.7.9]# cat /etc/rabbitmq/rabbitmq-env.conf 
RABBITMQ_NODENAME=rabbit@rabbitmq1

码字不易,希望大家有用到的可以三连支持一波。哪里有问题的话可以指出,谢谢大家!

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9月前
|
消息中间件 存储 Kafka
如何保证MQ消息队列的高可用?
如何保证MQ消息队列的高可用?
222 0
|
9月前
|
消息中间件 存储 负载均衡
一文读懂RocketMQ的高可用机制——消息发送高可用
一文读懂RocketMQ的高可用机制——消息发送高可用
199 1
|
11月前
|
消息中间件 存储
RabbitMQ的高可用机制
RabbitMQ 提供了多种高可用机制来确保消息队列的可靠性和稳定性。
545 0
|
19天前
|
消息中间件 存储 运维
深入理解MQ消息队列的高可用与可靠性策略
深入理解MQ消息队列的高可用与可靠性策略
1004 3
|
19天前
|
消息中间件 监控 Shell
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
61 0
|
19天前
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
322 0
|
7月前
|
消息中间件 Java Spring
搭建高可用rabbitmq集群及spring boot实现集群配置
搭建高可用rabbitmq集群及spring boot实现集群配置
112 0
|
9月前
|
消息中间件 存储 缓存
一文读懂RocketMQ的高可用机制——集群管理高可用
一文读懂RocketMQ的高可用机制——集群管理高可用
1489 1
|
9月前
|
消息中间件 存储 负载均衡
一文读懂RocketMQ的高可用机制——消息消费高可用
一文读懂RocketMQ的高可用机制——消息消费高可用
558 1
|
9月前
|
存储 消息中间件 缓存
一文读懂RocketMQ的高可用机制——消息存储高可用
一文读懂RocketMQ的高可用机制——消息存储高可用
844 1

热门文章

最新文章