amazon-web-services - 如何在远程磁盘上存储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 并从那里存储和使用队列。谢谢
解决方案
归根结底,@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
推荐阅读
- android - 无法在 android 模块上导入 .tflite 模型
- outlook - 在 Outlook 中附加的最近项目不同
- node.js - 得到“ERR_CRYPTO_INVALID_IV”。为什么?
- javascript - 如何清理任何请求或任何页面
- reactjs - MongoDB过滤和排序数组
- three.js - 创建比实际场景对象更大的点击目标的有效方法
- react-native - 在 react-native 项目中我收到错误 - 无法解析 /src/overflowMenu/OverflowMenuContext
- python - 使用 Python 进行 Elasticsearch 批量插入 - 套接字超时错误
- angular - 如何在 Angular Mat 卡片内容中翻译 html 标签
- bitbucket - 如何完全控制其他人的私有 bitbucket 存储库