RabbitMQ集群安装rabbitmq_delayed_message_exchange

1、单节点安装rabbitmq安装延迟队列

安装延迟队列rabbitmq_delayed_message_exchange可以参考这个文章: rabbitmq安装延迟队列-CSDN博客

2、集群安装rabbitmq_delayed_message_exchange

在第二个节点join_cluster 之后,start_app 就会报错了

javascript 复制代码
(CaseClauseError) no case clause matching: {:error, {:timeout_waiting_for_tables, [:rabbit@mq2, :rabbit@mq1], [:rabbit_delayed_messagerabbit@mq1, :rabbit_delayed_messagerabbit@mq1_index]}} 
(rabbitmqctl 3.8.0-dev) lib/rabbitmq/cli/plugins/plugins_helpers.ex:107: 
RabbitMQ.CLI.Plugins.Helpers.update_enabled_plugins/4 
(rabbitmqctl 3.8.0-dev) lib/rabbitmq/cli/plugins/commands/enable_command.ex:121: anonymous fn/6 in RabbitMQ.CLI.Plugins.Commands.EnableCommand.do_run/2
 (elixir 1.10.4) lib/stream.ex:1325: anonymous fn/2 in Stream.iterate/2 
(elixir 1.10.4) lib/stream.ex:1538: Stream.do_unfold/4 
(elixir 1.10.4) lib/stream.ex:1609: Enumerable.Stream.do_each/4 
(elixir 1.10.4) lib/stream.ex:956: Stream.do_enum_transform/7 
(elixir 1.10.4) lib/stream.ex:1609: Enumerable.Stream.do_each/4 
(elixir 1.10.4) lib/enum.ex:2161: Enum.reduce_while/3 {:case_clause, {:error, {:timeout_waiting_for_tables, [:rabbit@mq2, :rabbit@mq1], [:rabbit_delayed_messagerabbit@mq1, :rabbit_delayed_messagerabbit@mq1_index]}}}

找了很多资料最后发现原因是:rabbitmq_delayed_message_exchange插件需要用disc类型,集群的所有节点都需要改成disc类型

bash 复制代码
#将node2加入node1时,指定node2为内存节点(node2默认加入之后默认是ram节点)
rabbitmqctl join_cluster rabbit@node1 --ram
#若集群已搭建好,可以切换节点类型
rabbitmqctl change_cluster_node_type disc

第二个节点修改成 disc 节点之后,就可以start_app了。

生活中总是充满了各种选择,点餐纠结,出行选择,聚餐座位,团队投票结果不明,随机抽签一锤定音等等!为了解决这个问题,我开发了一款【随机选择决定转盘工具】微信小程序,随机做出决策!无论是随机抽选还是投硬币,都能轻松搞定。现在通过微信小程序二维码就能体验!快来试试吧,让选择变得更简单!

相关推荐
liuniansilence25 分钟前
🚀 高并发场景下的救星:BullMQ如何实现智能流量削峰填谷
前端·分布式·消息队列
Wang's Blog4 小时前
RabbitMQ: 实现高效消息监听之从基础到自动配置
分布式·rabbitmq
Wang's Blog4 小时前
RabbitMQ: 高级特性详解之消息返回机制与消费端确认机制
分布式·rabbitmq
Wang's Blog5 小时前
RabbitMQ: 使用MessageConverter高效处理消息
分布式·rabbitmq
‘胶己人’7 小时前
redis分布式锁
数据库·redis·分布式
山沐与山7 小时前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
武子康7 小时前
Java-203 RabbitMQ 生产者/消费者工作流程拆解:Connection/Channel、默认交换器、ACK
java·分布式·消息队列·rabbitmq·erlang·ruby·java-rabbitmq
小满、8 小时前
RabbitMQ: 同步异步解析、安装与控制台实践
分布式·消息队列·rabbitmq·mq
山沐与山8 小时前
【RabbitMQ】架构与集群模式详解
架构·rabbitmq·ruby