我们有一个网络网络分区,RabbitMQ最终陷入了“裂脑”。
群集恢复后,我有一个我无法删除的队列。在mgmt。接口队列刚刚用“?”列出,我无法使用mgmt删除它。界面或命令行。
我尝试从群集中删除节点“sh-mq-cl1a-04”,但队列仍然在群集中。
答案 0 :(得分:1)
我有一个类似的问题,我无法删除一些队列,这里列出的解决方案对我有用:https://community.pivotal.io/s/article/Queue-cant-be-deleted-or-purged-in-RabbitMQ
我将ssh切换到群集中的一个节点(托管队列的节点最好)上,将其伪装为root
,然后运行以下命令:
rabbitmqctl eval '{ok, Q} = rabbit_amqqueue:lookup(rabbit_misc:r(<<"VHOST">>, queue, <<"QUEUE">>)), rabbit_amqqueue:delete_crashed(Q).'
您需要用虚拟主机名替换VHOST
,并用队列名替换QUEUE
(在您的情况下,要弄清楚这很困难)。