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

docker-compose搭建RabbitMQ集群

消息队列 悠扬 1078次浏览 已收录 0个评论

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年以上工作经验,从事2年微服务架构搭建工作,有大数据处理相关工作经验,使用spring全家桶包括:Spring,SpringBoot,SpringCloud 数据层组件服务使用SpringDataJpa,Mybatis以及其他第三方组件Sharding-JDBC,Sharding-Proxy分库分表。熟悉微服务,服务降级,限流,分流,做过项目源码修改,有cat,apollo,nacos使用经验,有Lostash,Elasticsearch,kibana,mysqlMHA生产实践经验,使用开源代码Apache Sarding项目,修改源码支持mysql分库分表使用年月日小时分库分表,docker做集群服务,Jekins做项目发布,GitLab做项目管理,使用docker容器部署,熟悉消息队列RabbitMQ,Kafka,ActiveMQ。RuoYi-Vue-Atomikos项目开源加入生态圈组件,项目支持分布式事务,界面添加多数据源,数据源动态配置,切面切换,多数据源事务支持,支持区域数据源配置,用于区域数据切分,数据层次分库。项目地址:https://gitee.com/zsiyang/ruoyi-vue-atomikos
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址