docker-compose部署rabbitmq集群

目录

1.前期准备

2.创建挂载文件夹

3.创建docker-compose文件

4.修改hosts文件

5.执行docker-compose

6.执行集群命令

7.检查集群各节点状态


1.前期准备

准备了3台服务器,在服务器上安装docker和docker-compose,这些就不多啰嗦了

节点1192.168.99.241rabbitmq1disk
节点2192.168.99.242rabbitmq2ram
节点3192.168.99.243rabbitmq3ram

2.创建挂载文件夹

创建rabbitmq文件夹,在文件夹中新建挂载文件夹config和data

config目录存放配置文件以及一些脚本

data存放rabbitmq程序数据

3.创建docker-compose文件

在第二步中创建的rabbitmq目录下,创建docker-compose.yml文件

version: '3'

services:
  rabbitmq1:
    image: rabbitmq:3.8.3-management
    container_name: rabbitmq1
    restart: always
    hostname: rabbitmq1
    ports:
      - 4369:4369
      - 5671:5671
      - 25672:25672
      - 15672:15672
      - 5672:5672
    volumes:
      - ./data:/var/lib/rabbitmq
      - ./config/rabbitmq.sh:/etc/rabbitmq/rabbitmq.sh
      - /etc/hosts:/etc/hosts
    environment:
      - RABBITMQ_DEFAULT_USER=root
      - RABBITMQ_DEFAULT_PASS=root
      - RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION

这是节点1的docker-compose文件内容,节点2和节点3只需要将文件中的rabbitmq1改成rabbitmq2或者rabbitmq3即可

注意:在挂载参数中,必须加上“- /etc/hosts:/etc/hosts”,否则集群无法成功会报“Error: unable TO perform an operation ON node 'rabbit@rabbitmq1'. Please see diagnostics information AND suggestions below.”

4.修改hosts文件

在/etc/hosts文件中,添加各节点的信息

192.168.99.241 rabbitmq1
192.168.99.242 rabbitmq2
192.168.99.243 rabbitmq3

5.执行docker-compose

在各节点的rabbitmq目录下执行

docker-compose up -d

关闭防火墙或者开放对应的映射端口

6.执行集群命令

在第一步中事先规划好了各节点rabbitmq的存储方式,即节点1是disk,节点2和节点3都是ram

所以在直接完docker-compose后,执行命令进入各docker节点:

docker exec -it rabbitmq1 /bin/bash             -该命令以节点1为例

然后执行对应的集群命令:

disk节点(节点1主节点)执行:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

ram节点(节点2和节点3)执行:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app 

 如果后期需要修改节点的存储方式可以使用:

rabbitmqctl change_cluster_node_type disc/ram            –更改节点为磁盘或内存节点

7.检查集群各节点状态

在节点下执行:

rabbitmqctl cluster_status

 可以看到哪些是disk nodes,哪些是ram nodes,running nodes在运行的节点,各节点的版本信息等等

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,使用docker-compose部署RabbitMQ的步骤如下: 1. 首先,编辑`docker-compose.yaml`文件,指定RabbitMQ的配置信息和挂载目录。例如,设置RabbitMQ版本为`3.10.2-management`,容器名称为`rabbitmq`,并挂载`./data`目录到容器的`/var/lib/rabbitmq`目录,挂载`./log`目录到容器的`/var/log/rabbitmq`目录,挂载`./localtime`目录到容器的`/etc/localtime`目录。同时,将主机的5672端口映射到容器的5672端口,将主机的15672端口映射到容器的15672端口,设置时区为`Asia/Shanghai`,默认用户名为`rabbit`,默认密码为`123456`。123 #### 引用[.reference_title] - *1* [docker-compose 部署RabbitMq](https://blog.csdn.net/a1394916730/article/details/126058114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [docker-compose部署rabbitmq集群](https://blog.csdn.net/p393975269/article/details/129830252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [手把手教你使用docker-compose搭建RabbitMQ集群](https://blog.csdn.net/qq_41865652/article/details/123339368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值