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"
 



posted on 2022-02-23 11:04  Colin88  阅读(148)  评论(0编辑  收藏  举报