RabbitMQ 机器重启所有交换、队列、虚拟主机都不见了

Posted

技术标签:

【中文标题】RabbitMQ 机器重启所有交换、队列、虚拟主机都不见了【英文标题】:RabbitMQ Machine Restart all exchanges, queues, virtual host are gone 【发布时间】:2018-03-02 19:54:51 【问题描述】:

我们昨天在我们的 QA 盒子上应用了一个漏洞补丁,并且机器已重新启动。这意味着 RabbitMQ 服务器,并且服务也关闭了。当我们今天早上开始服务时,我记录了它。它丢失了所有现有的交换、队列、虚拟主机、用户。

不确定这里发生了什么。谁能给我指个方向?

问候, 高拉夫

【问题讨论】:

【参考方案1】:

上下文是 Windows 系统,之前运行 RabbitMQ 是在 LocalAdmin 用户下,然后下一次在另一个用户下运行。

%AppData%\RabbitMq\DB 是安装程序使用的默认位置。 根据 microsoft 提供的信息,您可以查看 APPDATA 变量指向的内容,这是用户特定的。

因此,如果您可以检查 LocalAdmin 的 APPDATA,我猜您会找到缺少的配置。为了检查该值,我运行了 cmd.exe 并在提示符中输入了 echo %APPDATA%

【讨论】:

嗨 Olivier,很抱歉提供的信息太少。我刚刚登录该框以检查文件位置。我看到我们正在使用默认文件位置,即 %AppData%\RabbitMq\DB。这听起来不适合生产系统。我注意到的另一件事是服务 [RabbitMQ] 作为 LocalAdmin 运行。现在也许这就是所有数据消失的原因。因为我启动了新服务,而我的 %AppData%/RabbitMQ/DB 是空的。 !!!仍然令人困惑!!!! 你刚刚提供了我认为所需的所有信息。要提供的标准信息是诸如操作系统之类的东西,在您的情况下是 Windows(我自己更像是一个 Linux 人)。根据from microsoft 可用的信息,您可以查看APPDATA 变量指向的内容,这是用户特定的。因此,如果您可以检查 LocalAdmin 的 APPDATA,我猜您会找到缺少的配置。为了检查这个值,我运行了 cmd.exe 并在提示符中输入了echo %APPDATA%

以上是关于RabbitMQ 机器重启所有交换、队列、虚拟主机都不见了的主要内容,如果未能解决你的问题,请参考以下文章

10.RabbitMQ持久化

RabbitMQ消息队列笔记

RabbitMQ消息队列笔记

RabbitMq 集成 spring boot 消息队列 入门Demo

Rabbitmq之发布确认高级回退消息备份交换机幂等性优先级队列惰性队列

C#利用RabbitMQ实现消息订阅与发布