Docker安装RabbitMQ集群
三个节点
部署节点1
IP: 192.168.1.100上
单机启动一个节点就好
docker run -d -h rabbitmq01 --name rabbitmq01 \
-v /app/data/rabbitmq:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 -p 4369:4369 -p 25672:25672 \
-e RABBITMQ_VM_MEMORY_HIGH_WATERMARK=0.9 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmq379' rabbitmq:3.7.9-management
部署节点2
IP: 192.168.1.101上
docker run -d -h rabbitmq02 --name rabbitmq02 \
-v /app/data/rabbitmq:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 -p 4369:4369 -p 25672:25672 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmq379' \
-e RABBITMQ_VM_MEMORY_HIGH_WATERMARK=0.9 \ # 内存告警限制根据实际情况修改
--add-host rabbitmq01:192.168.1.100 rabbitmq:3.7.9-management
部署节点3
IP: 192.168.1.102上
docker run -d -h rabbitmq03 --name rabbitmq03 \
-v /app/data/rabbitmq:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 -p 4369:4369 -p 25672:25672 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmq379' \
-e RABBITMQ_VM_MEMORY_HIGH_WATERMARK=0.9 \
--add-host rabbitmq01:192.168.1.100 \
--add-host rabbitmq02:192.168.1.101 rabbitmq:3.7.9-management
说明
# 端口说明
tcp4369端口用于集群邻居发现:
tcp5671,5672端口用于AMQP 0.9.1 and 1.0 clients使用;
tcp15672端口用于http api与rabbitadmin访问,后者仅限在management plugin开启时;
tcp25672端口用于erlang分布式节点/工具通信
# 内存说明
0.4: 表示百分之40
--ram: 参数为内存节点,默认硬盘节点
加入集群操作
# 进入第一个节点:
docker exec -it rabbitmq01 /bin/bash -c "rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl start_app"
# 进入第二个节点:
docker exec -it rabbitmq02 /bin/bash -c "rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl join_cluster rabbit@rabbitmq01 && rabbitmqctl start_app"
# 进入第三个节点:
docker exec -it rabbitmq03 /bin/bash -c "rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl join_cluster rabbit@rabbitmq01 && rabbitmqctl start_app"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!