docker rabbitmq_docker快速部署rabbitmq多机集群
1. 环境说明
节点名称 | IP地址 |
---|---|
rabbitmq1 | 192.168.87.11 |
rabbitmq2 | 192.168.87.22 |
2. 下载rabbitmq镜像
docker pull rabbitmq:management
3. 192.168.87.11服务器启动rabbitmq容器
# docker run -d --hostname rabbitmq1 --add-host="rabbitmq1":192.168.87.11 --add-host="rabbitmq2":192.168.87.22 --name rabbit1 --restart=always -p "4369:4369" -p "5672:5672" -p "15672:15672" -p "25672:25672" -v /data/rabbitmq01:/var/lib/rabbitmq:z -e RABBITMQ_ERLANG_COOKIE='jffwcookie' rabbitmq:management
b22e765df4930699dab14b461663d5f31e08ed706f68a5afd340a5c153289733
4. 192.168.87.22服务器启动rabbitmq容器
docker run -d --hostname rabbitmq2 --add-host="rabbitmq1":192.168.87.11 --add-host="rabbitmq2":192.168.87.22 --name rabbit2 --restart=always -p "4369:4369" -p "5672:5672" -p "15672:15672" -p "25672:25672" -v /data/rabbitmq02:/var/lib/rabbitmq:z -e RABBITMQ_ERLANG_COOKIE='jffwcookie' rabbitmq:management
6bf50571b24cad0b7ed25d66fda06b009307846f2a28ede51094b122acdcb08a
5. 在192.168.87.22的rabbitmq容器中设置加入集群
# 进入rabbitmq容器
# docker exec -it rabbit2 /bin/bash
# 停止rabbitmq 服务
root@rabbitmq2:/# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq2 ...
# 重置rabbitmq
root@rabbitmq2:/# rabbitmqctl reset
Resetting node rabbit@rabbitmq2 ...
#加入集群,主要是“rabbitmq1”,表示MQ加入到“,rabbitmq1”,rabbitmq1在容器启动的时候,已经定义好。
root@rabbitmq2:/# rabbitmqctl join_cluster rabbit@rabbitmq1
Clustering node rabbit@rabbitmq2 with rabbit@rabbitmq1
#启动rabbitmq服务
root@rabbitmq2:/# rabbitmqctl start_app
Starting node rabbit@rabbitmq2 ...
completed with 3 plugins.
# 查看集群信息
rabbitmqctl cluster_status
打开网页管理页面查看nodes
6. 移除节点
在要关闭的节点上操作
关闭节点
root@rabbitmq2:/# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq2 ...
在主节点上操作
删除要移除的节点:
root@rabbitmq1:/# rabbitmqctl -n rabbit@rabbitmq1 forget_cluster_node rabbit@rabbitmq2
Removing node rabbit@rabbitmq2 from the cluste