首页 > 其他分享 >rabbitmq集群部署-镜像模式

rabbitmq集群部署-镜像模式

时间:2022-11-15 17:45:37浏览次数:63  
标签:192.168 rabbitmqctl 集群 rabbitmq 镜像 erlang rpm

一、环境

RabbitMQ与Erlang的兼容关系详见:https://www.rabbitmq.com/which-erlang.html

rabbitmq集群最好是奇数节点,所以一般需要3台设备以上。

操作系统:CentOS 7
Erlang:erlang-23.3.4.1-1.el7.x86_64.rpm
RabbitMQ:rabbitmq-server-3.8.14-1.el7.noarch

三台主机:

192.168.116.133 rabbitmq-133

192.168.116.134 rabbitmq-134

192.168.116.135 rabbitmq-135

安装Erlang (erlang-23.3.4.1-1.el7.x86_64.rpm)
下载地址: https://github.com/rabbitmq/erlang-rpm/releases/

 

 

下载rabbitmq的rpm包,找到对应的版本,选择Assets,centos 7系统选择e17的rpm包
下载地址:rabbitmq

 

 

二.安装部署

2.1 全部设备都初始化(三台设备上都要操作)

cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
yum clean all
yum makecache
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

2.2 全部设备下载、上传rabbitMQ和erlang的rpm包

2.3 设置hosts,然后再安装rpm包

1)首先,第一台设备设置hosts,然后安装rpm包

vi /etc/hosts

192.168.116.133  rabbitmq-133
192.168.116.134  rabbitmq-134
192.168.116.135  rabbitmq-135

hostnamectl set-hostname rabbitmq-133
yum install -y erlang-23.3.4.1-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.8.14-1.el7.noarch.rpm

erl    进入erlang的命令行,查看版本为23
q().   退出命令行
rabbitmqctl version   查看版本号

 

 

 2)在rabbitmq-134设置hosts、安装rpm包

vi /etc/hosts

192.168.116.133  rabbitmq-133
192.168.116.134  rabbitmq-134
192.168.116.135  rabbitmq-135

hostnamectl set-hostname rabbitmq-134
yum install -y erlang-23.3.4.1-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.8.14-1.el7.noarch.rpm

erl    进入erlang的命令行,查看版本为23
q().   退出命令行
rabbitmqctl version   查看版本号

 

3)在rabbitmq-135设置hosts、安装rpm包

vi /etc/hosts
192.168.116.133  rabbitmq-133
192.168.116.134  rabbitmq-134
192.168.116.135  rabbitmq-135

hostnamectl set-hostname rabbitmq-135
yum install -y erlang-23.3.4.1-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.8.14-1.el7.noarch.rpm

erl    进入erlang的命令行,查看版本为23
q().   退出命令行
rabbitmqctl version   查看版本号

1.4 设置集群为镜像模式,集群节点互为对方节点的主节点

1)在rabbitmq-133操作

systemctl enable rabbitmq-server
systemctl start rabbitmq-server

安装网页插件,使得集群可以通过网页访问
rabbitmq-plugins enable rabbitmq_management
将主节点的cookie复制到其他2个节点
scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/.erlang.cookie 
scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/.erlang.cookie 

rabbitmqctl cluster_status   查看集群状态
注意集群名字:加入集群要用到这个
Cluster name: rabbit@rabbitmq-133

 

 

2)在rabbitmq-134操作

安装网页插件,使得集群可以通过网页访问
rabbitmq-plugins enable rabbitmq_management

让cookie信息重新加载
systemctl restart rabbitmq-server
systemctl enable rabbitmq-server

加入集群
rabbitmqctl stop_app     停止服务
rabbitmqctl reset        重置数据,会把数据都删除
rabbitmqctl    join_cluster  rabbit@rabbitmq-133   加入集群

rabbitmqctl start_app    启动服务
rabbitmqctl set_policy    ha-all "#"    '{"ha-mode":"all"}'  设置集群为镜像模式
rabbitmqctl cluster_status    确认集群状态

 

 3)在rabbitmq-135操作

安装网页插件,使得集群可以通过网页访问
rabbitmq-plugins enable rabbitmq_management

让cookie信息重新加载
systemctl restart rabbitmq-server
systemctl enable rabbitmq-server

加入集群
rabbitmqctl stop_app     停止服务
rabbitmqctl reset        重置数据,会把数据都删除
rabbitmqctl    join_cluster  rabbit@rabbitmq-133   加入集群

rabbitmqctl start_app    启动服务
rabbitmqctl set_policy    ha-all "#"    '{"ha-mode":"all"}'  设置集群为镜像模式
rabbitmqctl cluster_status    确认集群状态

1.5 确认集群是否同步

在rabbitmq-133创建一个账户

rabbitmqctl add_user aa 123456                 添加账户aa,密码为123456 
rabbitmqctl set_user_tags aa administrator     将账户打上最高权限标签
rabbitmqctl set_permissions aa ".*" ".*" ".*"  设置为最高权限
rabbitmqctl list_users  

 

 

 在rabbitmq-134,rabbitmq-135确认账户生成,证明数据同步成功,集群搭建完成

rabbitmqctl list_users 

 

 

 登录网页查看集群状态

http://192.168.116.133:15672/

 

 

 

 

标签:192.168,rabbitmqctl,集群,rabbitmq,镜像,erlang,rpm
From: https://www.cnblogs.com/wutao-007/p/16893236.html

相关文章

  • Redis集群
    1、什么是集群Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。Redis集群通过分区(partition)来提供一......
  • RabbitMq交换机
    RabbitMq交换机ExchangesExchange概念RabbitMQ消息传递模型的核心思想是:生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到......
  • RabbitMq发布确认
    RabbitMq发布确认发布确认原理生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被......
  • RabbitMq消息手动应答,放回队列重新消费,设置队列消息持久化
    RabbitMq消息手动应答,放回队列重新消费,设置队列消息持久化消息手动应答:编写获取信道工具类/***@authorzjh*/publicclassRabbitMqUtils{publicstatic......
  • RabbitMq简单模式
    RabbitMq简单模式定义一个生产者,负责发送消息到队列中/***@authorzjh*生产者发信息*/publicclassProducer{/***队列名称*/public......
  • 【ELK解决方案】ELK集群+RabbitMQ部署方案以及快速开发RabbitMQ生产者与消费者基础服
    前言:大概一年多前写过一个部署ELK系列的博客文章,前不久刚好在部署一个ELK的解决方案,我顺便就把一些基础的部分拎出来,再整合成一期文章。大概内容包括:搭建ELK集群,以及写一......
  • ubuntu安装rabbitmq
    系统:Ubuntu20.04tips:一定要在终端sudoapt-getupdate1.安装erlangsudoapt-getinstallerlang-nox2.安装rabbitmqsudoapt-getinstallrabbitmq-serve......
  • 创建openssl证书,实现集群外访问k8s api
    创建认证信息首先假设你装好了openssl(没装执行sudoyuminstallopensslopenssl-devel)1、创建一个文件夹叫做openssl-cert/$mkdir-p~/openssl-cert&&cd~/......
  • Mongodb集群搭建
    mongodb的集群搭建方式主要有三种,主从模式,Replicaset模式,sharding模式,三种模式各有优劣,适用于不同的场合,属Replicaset应用最为广泛,主从模式现在用的较少,sharding模式最......
  • Elasticsearch 集群内应该设置多少个分片(shard)?
    我应该设置多少个分片?我应该设置多大的分片?Elasticsearch是一个功能十分丰富的平台,支持各种用例,能够在数据整理和复制战略方面提供很大的灵活性。然而这一灵活性有时也会带......