IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CentOS7.X基于docker部署RabbitMQ集群 -> 正文阅读

[系统运维]CentOS7.X基于docker部署RabbitMQ集群

在之前的文章中我已经介绍过使用源码来安装RabbitMQ(可参考文章 ),安装过程也比较繁琐,使用docker部署,方便快捷,本文将采用docker来部署步骤记录下来:
搭建环境:
操作系统:CentOS7.6
内存大小:8GB
硬盘:100G
1、IP地址规划(将信息配置到/etc/hosts中)
主机名 IP地址
RabbitMQ01 192.168.8.131
RabbitMQ02 192.168.8.132
RabbitMQ03 192.168.8.133
RabbitMQ04 192.168.8.134
2、RabbitMQ集群安装
(1)四个节点同时运行,下载RabbitMQ镜像

[root@RabbitMQ01~]# docker pull rabbitmq:3-management

(2)四个节点分别运行,启动RabbitMQ容器

[root@RabbitMQ01~]# docker run -d --restart=always --hostname rabbit01 --name rabbit-01 -p 25672:25672 -p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 --add-host rabbit02:192.168.8.132 --add-host rabbit03:192.168.8.133 --add-host rabbit04:192.168.8.134 -e RABBITMQ_ERLANG_COOKIE='rbmqcookie' rabbitmq:3-management

[root@RabbitMQ02~]# docker run -d --restart=always --hostname rabbit02 --name rabbit-02 -p 25672:25672 -p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 --add-host rabbit01:192.168.8.131 --add-host rabbit03:192.168.8.133 --add-host rabbit04:192.168.8.134 -e RABBITMQ_ERLANG_COOKIE='rbmqcookie' rabbitmq:3-management

[root@RabbitMQ03~]# docker run -d --restart=always --hostname rabbit03 --name rabbit-03 -p 25672:25672 -p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 --add-host rabbit01:192.168.8.131 --add-host rabbit02:192.168.8.132 --add-host rabbit04:192.168.8.134 -e RABBITMQ_ERLANG_COOKIE='rbmqcookie' rabbitmq:3-management

[root@RabbitMQ04~]#  docker run -d --restart=always --hostname rabbit04 --name rabbit-04 -p 25672:25672 -p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 --add-host rabbit01:192.168.8.131 --add-host rabbit02:192.168.8.132 --add-host rabbit03:192.168.8.133 -e RABBITMQ_ERLANG_COOKIE='rbmqcookie' rabbitmq:3-management

(3)、将节点添加至集群服务中,我们将节点03设置为集群的master节点,其他为子节点,注意配置两个节点为ram节点,另两个为disc节点,执行时注意命令的不同
节点01上执行:

[root@RabbitMQ01~]#  docker exec -it rabbit-01 bash
[rabbit@rabbit01]# rabbitmqctl stop_app
[rabbit@rabbit01]# rabbitmqctl reset
[rabbit@rabbit01]# rabbitmqctl join_cluster --ram rabbit@rabbit03
[rabbit@rabbit01]# rabbitmqctl start_app
[rabbit@rabbit01]# exit

节点02上执行:

[root@RabbitMQ02~]#  docker exec -it rabbit-02 bash
[rabbit@rabbit02]# rabbitmqctl stop_app
[rabbit@rabbit02]# rabbitmqctl reset
[rabbit@rabbit02]# rabbitmqctl join_cluster --ram rabbit@rabbit03
[rabbit@rabbit02]# rabbitmqctl start_app
[rabbit@rabbit02]# exit

节点04上执行:

[root@RabbitMQ04~]#  docker exec -it rabbit-01 bash
[rabbit@rabbit04]# rabbitmqctl stop_app
[rabbit@rabbit04]# rabbitmqctl reset
[rabbit@rabbit04]# rabbitmqctl join_cluster rabbit@rabbit03
[rabbit@rabbit04]# rabbitmqctl start_app
[rabbit@rabbit04]# exit

节点03上执行:

[root@RabbitMQ03~]# docker exec -it rabbit-03 bash
[rabbit@rabbit03]# rabbitmqctl stop_app
[rabbit@rabbit03]# rabbitmqctl reset
[rabbit@rabbit03]# rabbitmqctl start_app
[rabbit@rabbit03]# exit

3、配置添加ha-mode镜像
Name:HA
Pattern:.
Definition:ha-mode = all
在这里插入图片描述
集群启动后的访问主界面:
在这里插入图片描述
3、安装配置nginx,以提供高可用
nginx的安装,这里略过,直接进入配置
[root@nginx~]# cd /usr/local/nginx/conf
[root@nginx~conf]# vi nginx.conf
其他配置略过

stream{
    upstream rabbitmq{
        server 192.168.8.131:5672 max_fails=2 fail_timeout=5s weight=2;
        server 192.168.8.132:5672 max_fails=2 fail_timeout=5s weight=2;
        server 192.168.8.133:5672 max_fails=2 fail_timeout=5s weight=2;
        server 192.168.8.134:5672 max_fails=2 fail_timeout=5s weight=2;
        }
    server{
        listen 5678;
        proxy_pass rabbitmq;
    }
}

[root@nginx~conf]#  vi rabbitmqstream.conf
upstream mqweb {
        ip_hash;
        server 192.168.8.131:15672;
        server 192.168.8.132:15672;
        server 192.168.8.133:15672;
        server 192.168.8.134:15672;
}
server {
listen 80;
server_name localhost;

  location / {
  proxy_pass http://rabbitmqstream/;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  client_max_body_size    100m;
  client_body_buffer_size 256k;

  proxy_connect_timeout   60;
  proxy_send_timeout      60;
  proxy_read_timeout      60;

  proxy_buffer_size       256k;
  proxy_buffers           8 256k;
  proxy_busy_buffers_size 512k;
  proxy_temp_file_write_size 512k;
  }
}

重新启动nginx容器

[root@nginx~conf]# /usr/local/nginx/sbin/nginx -s reload
[root@nginx~conf]# /usr/local/nginx/sbin/nginx -s stop
[root@nginx~conf]# /usr/local/nginx/sbin/nginx
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 13:08:37  更:2021-07-30 13:10:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 21:13:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码