首页 > 解决方案 > 如何在远程磁盘上存储rabbitmq RABBITMQ_MNESIA_DIR

问题描述

我们有两个 ec2 服务器。一个上面有rabbitmq。第二个是用于存储目的的新的。这两个都是Amazon Linux 2

在我们刚刚购买的第二个中,/dev/nvme1n1 70G 104M 70G 1% /data 我们希望在其中推送我们的 rabbitmq 队列和数据。基本上我们想RABBITMQ_MNESIA_DIR在第一个rabbitmq服务器上设置直接连接和保存/data提到的远程队列。

目前就是这样/var/lib/rabbitmq/mnesia,我们的 rabbitmq 配置文件只是默认的/etc/rabbitmq/rabbitmq.conf

我想知道以前是否有人这样做过,或者可以为我们指出正确的方向,即如何设置RABBITMQ_MNESIA_DIR为直接连接到远程 ec2 并从那里存储和使用队列。谢谢

标签: amazon-web-servicesserverrabbitmqqueuestorage

解决方案


归根结底,@Parsifal 是对的。我们最终扩大了一个实例并进行了更改RABBITMQ_MNESIA_DIR

这有点棘手,因为在重新启动后service rabbitmq-server restart 首先需要确保我们拥有我们安装的当前权限,尽管根据文档读/写应该足够了,但/data/mnesia我管理它。chmod 755 -R /data

然后我们在寻找为什么它总是产生这样的错误"broker forced connection closure with reason 'shutdown'"& Error on AMQP connection所以它是在开始之后。

所以我计算并检查了当前mnesia目录和新目录的所有权。结果发现用户和组root root与原始用户和组进行了比较。切换到它drwxr-xr-x 4 rabbitmq rabbitmq 97 Dec 16 14:57 mnesia并开始工作。也许它会让你头疼,我没有意识到rabbitmq有一个不同的用户组,因为我没有创建它。

唯一要补充的是,一旦您转移了当前工作的 mnesia,您可能会考虑将目录复制到新目录,因为当前正在使用和运行很多东西。我在没有它的情况下尝试了它,甚至管理员的密码也不起作用:D


推荐阅读