本文主要是介绍RabbitMQ 的队列 queues 名称为空的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天碰到很奇怪的问题, rabbitmq的队列名称居然为空了, 队列中积累了两百多万的数据, 快把mq搞蹦了, 没有队列名称就删除不了,也清空不了消息,
在服务器节点上: rabbitmqctl list_queues 查询队列也超时
这个时候就想起来: 只能把这个队列所在的virtual host 虚拟空间干掉, 不然没办法删除了。
步骤: 1 备份 该队列的 virtual host
参考以下任一方式导出包括全部Vhost的RabbitMQ集群元数据文件。
- RabbitMQ控制台
- 在浏览器打开RabbitMQ控制台。
RabbitMQ控制台地址:
http://<您的RabbitMQ IP地址>:15672/
- 在登录页面的Username文本框输入您的用户名,在Password文本框输入您的密码,然后单击Login。
- 在Overview页签下方,单击Import/export definitions,从Export区域的Virtual host列表,选择All,然后单击Download broker definitions。
- 在浏览器打开RabbitMQ控制台。
在另存为对话框,选择RabbitMQ集群元数据文件保存路径,然后单击保存。
导出对应的 virtual host 后点击
1: 菜单栏 的: Admin
2: 右边的 : virtual Hosts
3:左边的 virtual hosts 中对应的name
4: 进入对应的virtual host 后, 点击最下方的: delete this virtual host 的按钮进行删除。
删除完成后, 将导出的 虚拟空间json中 空name 的 队列删除 。 然后 在overview的最下方的 import definitions 进行导入。
就完成了。
这篇关于RabbitMQ 的队列 queues 名称为空的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!