CentOS7.X环境下基于docker安装部署RabbitMQ集群

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镜像
[[email protected]~]# docker pull rabbitmq:3-management
(2)四个节点分别运行,启动RabbitMQ容器

[[email protected]~]# 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
[[email protected]~]# 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
[[email protected]~]# 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
[[email protected]~]# 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上执行:

[[email protected]~]# docker exec -it rabbit-01 bash
[[email protected]]# rabbitmqctl stop_app
[[email protected]]# rabbitmqctl reset
[[email protected]]# rabbitmqctl join_cluster --ram [email protected]
[[email protected]]# rabbitmqctl start_app
[[email protected]]# exit
节点02上执行:

[[email protected]~]# docker exec -it rabbit-02 bash
[[email protected]]# rabbitmqctl stop_app
[[email protected]]# rabbitmqctl reset
[[email protected]]# rabbitmqctl join_cluster --ram [email protected]
[[email protected]]# rabbitmqctl start_app
[[email protected]]# exit
节点04上执行:

[[email protected]~]# docker exec -it rabbit-01 bash
[[email protected]]# rabbitmqctl stop_app
[[email protected]]# rabbitmqctl reset
[[email protected]]# rabbitmqctl join_cluster [email protected]
[[email protected]]# rabbitmqctl start_app
[[email protected]]# exit
节点03上执行:

[[email protected]~]# docker exec -it rabbit-03 bash
[[email protected]]# rabbitmqctl stop_app
[[email protected]]# rabbitmqctl reset
[[email protected]]# rabbitmqctl start_app
[[email protected]]# exit
3、配置添加ha-mode镜像
Name:HA
Pattern:.
Definition:ha-mode = all
CentOS7.X环境下基于docker安装部署RabbitMQ集群

集群启动后的访问主界面:
CentOS7.X环境下基于docker安装部署RabbitMQ集群

3、安装配置nginx,以提供高可用
nginx的安装,这里略过,直接进入配置
[[email protected]~]# cd /usr/local/nginx/conf
[[email protected]~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;
}
}
[[email protected]~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_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容器

[[email protected]~conf]# /usr/local/nginx/sbin/nginx -s reload
[[email protected]~conf]# /usr/local/nginx/sbin/nginx -s stop
[[email protected]~conf]# /usr/local/nginx/sbin/nginx

原文地址:https://blog.51cto.com/14640776/2459708

时间: 2024-10-12 20:31:05

CentOS7.X环境下基于docker安装部署RabbitMQ集群的相关文章

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

一步一步教你搭建基于docker的MongoDB复制集群环境

一步一步教你搭建基于docker的MongoDB复制集群环境 1.安装docker 2.创建MongoDB的Image 3.搭建MongoDB的集群 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中. 1.ubuntu14.04安装docker 参考文档 http://docs.docker.com/installation/ubuntulinux/ 参考文档 http://docs.docker.com/mac/started/ pc@pc-Th

使用Docker部署RabbitMQ集群

概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘. Windows10上Docker的安装 因为本人用的是Windows系统,所有推荐一个不错的安装文章,详见:https://blog.csdn.net/xiaoping0915/article/details/75094857 注意:设置阿里云Docker Hub加速,配置Registry mirrors地址"https://j0andt2p.mirror.

kubernetes系列03—kubeadm安装部署K8S集群

1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm 安装kubernetes(本文演示的就是此方法) 优点:你只要安装kubeadm即可:kubeadm会帮你自动部署安装K8S集群:如:初始化K8S集群.配置各个插件的证书认证.部署集群网络等.安装简易. 缺点:不是自己一步一步安装,可能对K8S的理解不会那么深:并且有那一部分有问题,自己不好修正. 1.3.2 方法2:二进制安装部署k

7条命令在docker中部署Mesos集群

7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务.ZooKeeper?-?https://registry.hub.docker.com/u/garland/zookeeper/Meso Master?-?https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-maste

安装部署Kubernetes集群实战

kubernetes概述: Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制.Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本. 通过kubernetes可以实现的功能: 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 我们的目

Docker 容器部署 Consul 集群

一.docker安装与启动1.1安装docker[[email protected] /]# yum -y install docker-io 1.2更改配置文件[[email protected] /]# vi /etc/sysconfig/dockerother-args列更改为:other_args="--exec-driver=lxc --selinux-enabled" 1.3启动docker服务[[email protected] /]# service docker st

在CentOS7上部署Rabbitmq集群配置

概述 RabbitMQ是目前流行的开源消息队列系统.MQ(消息队列)是一种应用程序对应用程序的通信方法. RabbitMQ的结构图如图所示: 实现步骤 在一个集群里,有三台服务器,其中一台使用磁盘模式,另两台使用内存模式.两台内存模式的节点无疑速度更快,因此通过客户端连接访问它们.但是客户端不可能分别连接两个内存节点,肯定是通过前端反向代理去轮询分发请求如果担心前端反向代理服务器故障,可以通过Keepalived软件做一个高可用架构.而磁盘模式的节点,由于磁盘IO相对较慢,因此仅作数据备份使用.

部署RabbitMQ集群

部署 RabbitMQ Cluster 消息中间件简介 ? 消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信.当下主流的消息中间件有RabbitMQ.Kafka.ActiveMQ.RocketMQ等.其能在不同平台之间进行通信,常用来屏蔽各种平台协议之间的特性,实现应用程序之间的协同.优点在于能够在客户端和服务器之间进行同步和异步的连接,并且在任何时刻都可以将消