Akiraka Akiraka
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
首页 › Linux › Docker › RabbitMQ 基于官方

RabbitMQ 基于官方

Akiraka1年前

https://www.cnblogs.com/sgh1023/p/11296013.html
https://blog.csdn.net/qq_32488647/article/details/81941491

文章目录

  • 端口描述
  • 主机
  • 配置 rabbitmq-01 服务器
  • 配置 rabbitmq-02 服务器
  • 配置 rabbitmq-03 服务器
  • 加入集群
    • 设置 rabbitmq-01 节点
    • 设置 rabbitmq-02 节点
    • 设置 rabbitmq-03 节点
  • 访问浏览器应该就好了

端口描述

  • 集群必须开放 4369和25672端口
端口 描述
4369 erlang集群监听端口
5671 ssl客户端通信端口
5672 默认客户端通信端口
15571 管理web端口
25672 集群通信端口

主机

ip地址 | 主机名
172.16.8.88 | rabbitmq-01
172.16.8.72 | rabbitmq-02
172.16.8.70 | rabbitmq-03

配置 rabbitmq-01 服务器

version: '2'
networks:
  default:
    external:
      name: bole-network
services:
  rabbitmq:
    image: rabbitmq:3.8.1-management
    restart: always
    mem_limit: 1024m
    hostname: rabbitmq-01
    container_name: rabbitmq
    extra_hosts:
      - "rabbitmq-01:172.16.8.88"
      - "rabbitmq-02:172.16.8.72"
      - "rabbitmq-03:172.16.8.70"
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: "bole"
      RABBITMQ_DEFAULT_PASS: "9uGgW7rIMX6t"
      RABBITMQ_ERLANG_COOKIE: "LIGRAL3A2S"
    volumes:
      - /data/rabbitmq/logs:/var/log/rabbitmq
      - /data/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia
    ports:
      - "25672:25672"
      - "5672:5672"
      - "4369:4369"

配置 rabbitmq-02 服务器

version: '2'
networks:
  default:
    external:
      name: bole-network
services:
  rabbitmq:
    image: rabbitmq:3.8.1-management
    restart: always
    mem_limit: 1024m
    hostname: rabbitmq-02
    container_name: rabbitmq
    extra_hosts:
      - "rabbitmq-01:172.16.8.88"
      - "rabbitmq-02:172.16.8.72"
      - "rabbitmq-03:172.16.8.70"
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_ERLANG_COOKIE: "LIGRAL3A2S"
    volumes:
      - /data/rabbitmq/logs:/var/log/rabbitmq
      - /data/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia
    ports:
      - "25672:25672"
      - "5672:5672"
      - "4369:4369"

配置 rabbitmq-03 服务器

version: '2'
networks:
  default:
    external:
      name: bole-network
services:
  rabbitmq:
    image: rabbitmq:3.8.1-management
    restart: always
    mem_limit: 1024m
    hostname: rabbitmq-03
    container_name: rabbitmq
    extra_hosts:
      - "rabbitmq-01:172.16.8.88"
      - "rabbitmq-02:172.16.8.72"
      - "rabbitmq-03:172.16.8.70"
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_ERLANG_COOKIE: "LIGRAL3A2S"
    volumes:
      - /data/rabbitmq/logs:/var/log/rabbitmq
      - /data/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia
    ports:
      - "25672:25672"
      - "5672:5672"
      - "4369:4369"

加入集群

内存节点和磁盘节点的选择:

每个RabbitMQ节点,要么是内存节点,要么是磁盘节点。内存节点将所有的队列、交换器、绑定、用户等元数据定义都存储在内存中;而磁盘节点将元数据存储在磁盘中。单节点系统只允许磁盘类型的节点,否则当节点重启以后,所有的配置信息都会丢失。如果采用集群的方式,可以选择至少配置一个节点为磁盘节点,其余部分配置为内存节点,,这样可以获得更快的响应。所以本集群中配置节点1位磁盘节点,节点2和节点3位内存节点。

集群中的第一个节点将初始元数据代入集群中,并且无须被告知加入。而第2个和之后加入的节点将加入它并获取它的元数据。要加入节点,需要进入Docker容器,重启RabbitMQ。

设置 rabbitmq-01 节点

docker exec -it rabbitmq1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit

设置 rabbitmq-02 节点

docker exec -it rabbitmq1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq-01
rabbitmqctl start_app
exit

设置 rabbitmq-03 节点

docker exec -it rabbitmq1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq-01
rabbitmqctl start_app
exit

访问浏览器应该就好了

#docker#liniux#RabbitMQ#容器编排
1
分享
Akiraka 站长
文章 121评论 10
相关文章
  • Docker 修改默认存储路径
  • Centos/Ubuntu Linux 系统 根目录扩容方法
  • RocketMQ 集群容器多机编排主主
  • 搭建 Redis 主从搭建配置
  • Docker-Compose 网络配置
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
121文章
10评论
47获赞
想找什么搜一下
文章聚合
大数据环境 Pyenv 搭建
1年前
Kubernetes(k8s)helm 搭建 prometheus + Grafana 监控
12月前
PetroPie 更换字体支持中文
1年前
pip 更换源
1年前
Mysql增量备份脚本
1年前
微信小程序
微信小程序
标签云
brew cdh centos cmd docker docker compose elasticsearch elk filebase filebeat gitlab grafana hadoop helm hive hue jdk jenkins k8s kibana kubernetes liniux linux logstash mac mikrotik mydumper mysql nfs nginx openssl oss php pip pyspark python RabbitMQ redis rocketmq shell Spark ubuntu windows ZooKeeper 容器编排
Copyright © 2019-2021 Akiraka. Designed by nicetheme. 沪18036911号