Rabbitmq 兔子铲卡在';终止';地位
我们遇到了这样一个问题:在Rabbitmq 兔子铲卡在';终止';地位,rabbitmq,rabbitmq-shovel,Rabbitmq,Rabbitmq Shovel,我们遇到了这样一个问题:在设置为队列长度后,src delete的动态铲(通过HTTP-API:/API/parameters/spoot/创建)偶尔会在结束后陷入src delete状态,而不是被删除 通过以下任何方法删除电铲的后续尝试均未成功: 将删除发布到/api/parameters/spoot/ rabbitmqctl delete\u铲 rabbitmqctl clear_参数-p铲 铲子甚至没有出现在RabbitMQ管理UI的“铲子管理”部分 我们摆脱那把卡住的铲子的唯一办法是重新
设置为队列长度后,src delete的动态铲(通过HTTP-API:/API/parameters/spoot/
创建)偶尔会在结束后陷入src delete状态,而不是被删除
通过以下任何方法删除电铲的后续尝试均未成功:
将删除发布到/api/parameters/spoot/
rabbitmqctl delete\u铲
rabbitmqctl clear_参数-p铲
铲子甚至没有出现在RabbitMQ管理UI的“铲子管理”部分
我们摆脱那把卡住的铲子的唯一办法是重新启动RabbitMQ
还有其他人有这个问题吗?如果是这样,我们如何在不重新启动集群的情况下清除电铲?另外,是否可以通过配置来防止这种情况发生
谢谢
附言:
RabbitMQ版本:3.4.4
运行一个2节点集群(由于在网络分区的情况下我们可能会面临明显的问题,很快将使其成为一个3节点集群)
您使用的是非常非常旧的RabbitMQ版本。请升级到最新版本(3.7.6
),并确保使用Erlang20.3.X
(而不是21
)。如果您仍然可以复制此问题,请在邮件列表中报告。我们使用的是RMQ 3.7.13,Erlang 21.3.1
出现问题的一种可能方式:
- 3节点HA集群
- 重新启动其中一个节点(/etc/init.d/rabbitmq-server restart)
- 旧铁锹和旧队伍不知怎么又复活了
不能使用问题中提到的任何方式删除铲子。
我能够移除铲子的唯一方法是在集群中的所有3个节点上禁用铲子插件,然后在每个节点上重新启用每个插件,如下所示:
rabbitmq-plugins disable rabbit_shovel
rabbitmq-plugins enable rabbit_shovel
rabbitmq-plugins enable rabbit_shovel_management
对于恢复的旧队列(随机发生,不涉及任何内容…我称它们为“僵尸”队列),这个问题大约每月发生一次,因此我创建了PostMan脚本来删除恢复的队列。这是一个多年来的问题。我们升级了RMQ,希望能解决这个问题。。。但事实并非如此。也许仲裁队列是一个更健壮的解决方案?如果我有更多的时间去调查/实验,我会的,但是我的优先级更高,我的眼睛都被埋没了。我目前也有同样的问题,我使用的是RMQ 3.7.13和Erlang 21.3.1。这3个命令对我来说都失败了。API返回405方法不允许。CLI返回“参数不存在”。UI和/api/spools都显示了2个僵尸铲,但我无法删除。