当前位置: 首页 > news >正文

Linux虚拟机搭建RabbitMQ集群

在这里插入图片描述
普通集群模式,意思就是在多台机器上启动多个 RabbitMQ 实例,每台机器启动一个。创建的 queue,只会放在一个 RabbitMQ 实例上,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通过元数据,可以找到 queue 所在实例)。消费的时候,实际上如果连接到了另外一个实例,那么那个实例会从 queue 所在实例上拉取数据过来。

1、服务器准备

host-01 192.168.49.9
host-02 192.168.49.10
host-03 192.168.49.11

在这里插入图片描述
关闭防火墙:

 systemctl stop firewalldsystemctl disable firewalldsystemctl status firewalld

修改hostname:

hostnamectl set-hostname host-01

在这里插入图片描述
在这里插入图片描述

修改三台服务器的hosts:

vim /etc/hosts

添加:

192.168.49.9 host-01
192.168.49.10 host-02
192.168.49.11 host-03

验证:

在这里插入图片描述

修改宿主机hosts文件:
在这里插入图片描述
在这里插入图片描述

验证:
在这里插入图片描述

2、安装erlang环境

三台虚拟机都按照下面方式按装环境:

erlang-23.3.4.10-1.el7.x86_64.rpm下载页面

在这里插入图片描述

安装:

rpm -ivh erlang-23.3.4.10-1.el7.x86_64.rpm

验证:

yum info erlang

在这里插入图片描述

3、安装RabbitMq

Rabbitmq官网安装地址

下载:

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.0/rabbitmq-server-3.8.0-1.el7.noarch.rpm

下载完成后导入key:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

安装:

rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm

在这里插入图片描述
解决办法:

yum install socat

在这里插入图片描述
启动RabbitMQ:

# 启动rabbitmq
systemctl start rabbitmq-server
# 查看rabbitmq状态
systemctl status rabbitmq-server
#设置开机启动
systemctl enable rabbitmq-server

在这里插入图片描述
安装管理界面:

rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述
管理界面设置登录账号密码:
RabbitMQ默认只有一个guest帐号,guest帐号只能在RabbitMQ安装服务器上登录,在其它服务器用guest登录提示User can only log in via localhost

#第一步:添加 admin 用户并设置密码
rabbitmqctl add_user admin 123456
#第二步:添加 admin 用户为administrator角色
rabbitmqctl set_user_tags admin administrator
#第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#第四步:查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
#第五步:查看用户列表
rabbitmqctl list_users

分别访问三台虚拟机的RabbitMQ:

http://host-01:15672/#/

在这里插入图片描述

http://host-02:15672/#/

在这里插入图片描述

http://host-03:15672/#/

在这里插入图片描述

4、 构建erlang集群

拷贝一台rabbitmq的erlang.cookie到另外一台,被拷贝的视为master

 scp /var/lib/rabbitmq/.erlang.cookie root@host-02:/var/lib/rabbitmqscp /var/lib/rabbitmq/.erlang.cookie root@host-03:/var/lib/rabbitmq

重启节点:

systemctl restart rabbitmq-server

从节点执行如下:

#停止服务
rabbitmqctl stop_app
#重置服务
rabbitmqctl reset
#加入集群,$hostname为host-01的hostname
rabbitmqctl join_cluster rabbit@host-01

在这里插入图片描述
在这里插入图片描述

高可用镜像集群配置:
三台服务器分别执行:

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
http://www.lryc.cn/news/188840.html

相关文章:

  • C之fopen/fclose/fread/fwrite/flseek
  • 3D机器视觉:解锁未来的立体视野
  • 大端字节序存储 | 小端字节序存储介绍
  • ASP.Core3.1 WebAPI 发布到IIS
  • MyBatisPlus属性自动填充和乐观锁插件+查询删除操作+整合SpringBoot出现问题解决
  • 软件测试/测试开发丨App自动化—CSS 定位与原生定位
  • c语言:通讯录管理系统(文件版本)
  • Android Studio 配置Git SVN忽略文件
  • 独享IP地址的层级划分和管理:打造稳定高效的网络架构
  • js中async的作用
  • 什么是信创测试?信创测试工具有哪些?
  • 健康医疗类APP在高需求快速发展背景下,商业化如何快速破局增收?
  • java开源商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城
  • k8spod就绪检查失败
  • 【数据结构】链表详解
  • STM32使用HAL库驱动DS18B20
  • echarts折线图设置背景颜色
  • spring boot+ vue+ mysql开发的一套厘米级高精度定位系统源码
  • 【初试396分】西北工业大学827学长经验分享
  • 【Qt之信号和槽】对象多层嵌套后,高效使用信号和槽
  • 搬砖日记:vue2 用require引入图片项目编译失败
  • 国内外都可以使用的【免费AI工具】,实用性满满
  • 银河麒麟服务器x86安装ntp客户端,并配置成功可以同步时间
  • vue踩的坑:属性报undefined错误问题汇总
  • Ubuntu22.04.3安装教程
  • Vue2和Vue3的emit、props、watch等知识点对比
  • HTML 笔记:初识 HTML(HTML文本标签、文本列表、嵌入图片、背景色、网页链接)
  • 使用弹性盒子flex对html进行布局和动态计算视口高度
  • 华为云云耀云服务器L实例评测|华为云耀云服务器L实例评测用例(五)
  • uniapp-vue3微信小程序实现全局分享