登录
  • 欢迎访问悠扬的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站😉

docker-compose搭建RabbitMQ集群

消息队列 悠扬 1620次浏览 已收录

1.下载镜像

docker pull rabbitmq

2.创建挂载目录

mkdir -p /data/docker/data/rabbitmq/{rabbitmq1,rabbitmq2,rabbitmq3}

3.编辑docker-compose.yml配置文件

#启动创建
docker-compose --compatibility -f rabbitmq-compose.yml up -d 
#停止删除
docker-compose --compatibility -f rabbitmq-compose.yml down

4.创建初始化脚本

#!/bin/bash

#reset first node
echo "Reset first rabbitmq node."
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl stop_app'
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl reset'
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl start_app'

#build cluster
echo "Starting to build rabbitmq cluster with two ram nodes."
docker exec rabbitmq2 /bin/bash -c 'rabbitmqctl stop_app'
docker exec rabbitmq2 /bin/bash -c 'rabbitmqctl reset'
docker exec rabbitmq2 /bin/bash -c 'rabbitmqctl join_cluster --ram rabbit@rabbitmq1'
docker exec rabbitmq2 /bin/bash -c 'rabbitmqctl start_app'

docker exec rabbitmq3 /bin/bash -c 'rabbitmqctl stop_app'
docker exec rabbitmq3 /bin/bash -c 'rabbitmqctl reset'
docker exec rabbitmq3 /bin/bash -c 'rabbitmqctl join_cluster --ram rabbit@rabbitmq1'
docker exec rabbitmq3 /bin/bash -c 'rabbitmqctl start_app'

#check cluster status
echo "Check cluster status:"
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl cluster_status'
docker exec rabbitmq2 /bin/bash -c 'rabbitmqctl cluster_status'
docker exec rabbitmq3 /bin/bash -c 'rabbitmqctl cluster_status'

echo "Starting to create user."
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl add_user admin admin@123'

echo "Set tags for new user."
docker exec rabbitmq1 /bin/bash -c 'rabbitmqctl set_user_tags admin administrator'

echo "Grant permissions to new user."
docker exec rabbitmq1 /bin/bash -c "rabbitmqctl set_permissions -p '/' admin '.*' '.*' '.*'"

登录管理界面查看集群状态:

http://xxx.xxx.xxx.xxx:15672/#/

登录账号:admin/admin@123,或者默认账号guest/guest

登录账号:admin/admin@123,或者默认账号guest/guest

docker-compose搭建RabbitMQ集群

docker-compose搭建RabbitMQ集群

 设置镜像队列构建高可用集群:

管理界面操作:

docker-compose搭建RabbitMQ集群docker-compose搭建RabbitMQ集群docker-compose搭建RabbitMQ集群docker-compose搭建RabbitMQ集群

 

 

 docker-compose搭建RabbitMQ集群

 

 docker-compose搭建RabbitMQ集群

 

查看队列特性:

docker-compose搭建RabbitMQ集群docker-compose搭建RabbitMQ集群

docker-compose搭建RabbitMQ集群

 

后台命令操作:

docker exec -it rabbitmq1 /bin/bash
root@rabbitmq1:/# rabbitmqctl set_policy test "[a-zA-Z]" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明docker-compose搭建RabbitMQ集群
喜欢 (0)
支付宝[]
分享 (0)
悠扬
关于作者:
10年以上工作经验:6年以上微服务架构设计搭建经验。 曾任岗位:项目经理、架构师。 擅长领域:大数据、数据库,架构设计,资源优化。 获得业绩: 1.实用新型发明专利1个,修改Apache Sharding源码设计实现分库分表程序增强方案。 2.开源项目一个:https://gitee.com/zsiyang/ruoyi-vue-atomikos (加入开源生态圈)。 3.个人技术博客地址:https://www.nxhz1688.com