我们遇到了网络分区,导致RabbitMQ出现了"脑裂"。
在集群恢复后,我有一个无法删除的队列。在管理界面中,该队列仅以“?”列出,我无法从管理界面或命令行中删除它。
我尝试从集群中删除节点“sh-mq-cl1a-04”,但队列仍然存在于集群中。
我们遇到了网络分区,导致RabbitMQ出现了"脑裂"。
在集群恢复后,我有一个无法删除的队列。在管理界面中,该队列仅以“?”列出,我无法从管理界面或命令行中删除它。
我尝试从集群中删除节点“sh-mq-cl1a-04”,但队列仍然存在于集群中。
root
身份运行以下命令:rabbitmqctl eval '{ok, Q} = rabbit_amqqueue:lookup(rabbit_misc:r(<<"VHOST">>, queue, <<"QUEUE">>)), rabbit_amqqueue:delete_crashed(Q).'
您需要将 VHOST
替换为您的虚拟主机名称,将 QUEUE
替换为您的队列名称(我意识到在您的情况下可能会有些棘手)。
rabbitmqctl delete_queue <queue:name>
这个命令比较简单。 - Nicolas Nobelis