我一直在阅读有关设置 dockerized RabbitMQ 集群的一些资料,谷歌在同一台机器上提供了各种结果。
我正在尝试跨多台机器设置 RabbitMQ 集群。
我有三台机器,名称分别为 dockerswarmmodemaster1
、 dockerswarmmodemaster2
和 dockerswarmmodemaster3
在第一台机器 (dockerswarmmodemaster1) 上,我发出以下命令:
docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 15672:15672 \
-p 25672:25672 --hostname dockerswarmmodemaster1 --name roger_rabbit \
-e RABBITMQ_ERLANG_COOKIE='secret cookie here' rabbitmq:3-management
现在这启动了一个 rabbitMQ 就好了,我可以转到 15672 上的管理页面,看看它是否按预期工作。然后我通过 SSH 连接到我的第二台机器(dockerswarmmodemaster2),这是我坚持的一点。我一直在尝试以下命令的变体:
docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 \
-p 15672:15672 -p 25672:25672 --name jessica_rabbit -e CLUSTERED=true \
-e CLUSTER_WITH=rabbit@dockerswarmmodemaster1 \
-e RABBITMQ_ERLANG_COOKIE='secret cookie here' \
rabbitmq:3-management
无论我尝试什么,两台 RabbitMQ 机器上的网页都说“集群链接”部分下没有集群。我还没有尝试涉及第三台机器。所以 - 更多信息:
有没有办法从 docker run 命令执行此操作,或者我是否必须下载 rabbit admin cli 并手动加入集群?
最佳答案
你可以使用这个插件 https://github.com/aweber/rabbitmq-autocluster 来创建一个 RabbitMQ docker 集群。
该插件使用 etcd2
或 consul
作为服务发现,这样您就不需要使用 rabbitmqctl
命令行。
我将它与 docker swarm 一起使用,但这不是必需的。
Here 是结果
关于docker - 如何设置一个简单的 dockerized RabbitMQ 集群?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41302117/