linux系统消息中间件rabbitmq普通集群的部署

news2024/11/14 18:05:09

rabbitmq普通集群的部署

    • 普通集群准备环境
      • 查询版本对应
      • 安装rabbitmq软件
      • 启动
      • 创建登录用户
      • 开启用户远程登录
      • 查看端口
    • 部署集群
      • 创建数据存放目录和日志存放目录:
      • 拷⻉erlang.cookie
      • 将其他两台服务器作为节点加⼊节点集群中
      • 查看集群状态
      • 创建新的队列

普通集群准备环境

配置hosts⽂件更改三台MQ节点的计算机名分别为rabbitmq-1、rabbitmq-2 和rabbitmq-3,然后修改hosts配置⽂件

hostnamectl set-hostname rabbitmq-1
hostnamectl set-hostname rabbitmq-2
hostnamectl set-hostname rabbitmq-3
更改完主机名后重新连接终端后继续下续操作

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
ip rabbitmq-1
ip rabbitmq-2
ip rabbitmq-3

查询版本对应

# rabbitmq 和erlang兼容版本查询
https://www.rabbitmq.com/which-erlang.html

# erlang 版本选择
https://packagecloud.io/rabbitmq/erlang

# rabbitmq 版本选择
https://www.rabbitmq.com/news.html

安装rabbitmq软件

#安装依赖
yum install -y epel-release gcc-c++ unixODBC unixODBC-devel openssl-devel ncurses-devel

#yum安装erlang的rpm安装包
[root@rabbitmq-1 ~]# yum install erlang-21.3.8.21-1.el7.x86_64


#yum安装rabbitmq
yum install rabbitmq-server-3.7.10-1.el7.noarch.rpm

启动

#启动方式一
systemctl daemon-reload
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

#启动方式二
/sbin/service rabbitmq-server status  ---查看状态
/sbin/service rabbitmq-server start   ---启动

#开启rabbitmq的web访问界面
rabbitmq-plugins enable rabbitmq_management

创建登录用户

注意:在一台机器操作
添加用户和密码
rabbitmqctl add_user 用户名 密码

设置为管理员
rabbitmqctl set_user_tags newrain administrator

查看用户
rabbitmqctl list_users


此处设置权限时注意'.*'之间需要有空格 三个'.*'分别代表了conf权限,read权限与write权限
rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"

开启用户远程登录

cd /etc/rabbitmq/
cp /usr/share/doc/rabbitmq-server-3.7.10/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

vim rabbitmq.config
修改如下:

1564157816348

#修改完之后重启rebbitmq-server
systemctl restart rabbitmq-server

查看端口

1564157344617

4369 -- erlang发现端口
5672 --程序连接访问端口
15672 -- 管理界面ui端口,web页面查询端口
25672 -- server间内部通信口

rabbitmq默认管理员
用户:guest   
密码:guest

注意:如果是云服务器,切记添加安全组端口放行。

部署集群

创建数据存放目录和日志存放目录:

mkdir -p /data/rabbitmq/data
mkdir -p /data/rabbitmq/logs
chmod 777 -R /data/rabbitmq
chown rabbitmq.rabbitmq /data/ -R

#创建配置文件
vim /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/logs

#重启服务
systemctl restart rabbitmq-server

拷⻉erlang.cookie

cat /var/lib/rabbitmq/.erlang.cookie

⽤scp的⽅式将1节点的.erlang.cookie的值复制到其他两个节点中
scp /var/lib/rabbitmq/.erlang.cookie root@ip:/var/lib/rabbitmq/
Rabbitmq的集群是依附于erlang的集群来⼯作的,所以必须先构建起erlang的集群景象。Erlang的集群中

各节点是经由过程⼀个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,⽂件是400的权限。所以必须保证各节点cookie⼀致,不然节点之间就⽆法通信.

如果执行#rabbitmqctl stop_app 这条命令报错:需要执行
#chmod 400 .erlang.cookie
#chown rabbitmq.rabbitmq .erlang.cookie

将其他两台服务器作为节点加⼊节点集群中

在其他两台服务器执⾏如下命令:
systemctl restart rabbitmq-server

rabbitmqctl stop_app  #停止节点

rabbitmqctl reset     #如果有数据需要重置,没有则不用

rabbitmqctl join_cluster --ram rabbit@主节点ip或主机名  #添加内存节点   
rabbitmqctl join_cluster rabbit@主节点ip或主机名        #添加磁盘节点

rabbitmqctl start_app   #启动节点

如果想要更改节点类型,可以使⽤命令rabbitmqctl change_cluster_node_type disc(ram)
前提是必须停掉rabbit应⽤

查看集群状态

在Rabbit MQ集群任意节点上执行rabbitmq ctlcluster_status来查看是否集群配置成功。

rabbitmqctl cluster_status

创建新的队列

根据界⾯提示创建⼀条队列

1564159056655

!1564159160374

在RabbitMQ集群集群中,必须⾄少有⼀个磁盘节点,否则队列元数据⽆法写⼊到集群中,当磁盘节点宕掉时,集群将⽆法写⼊新的队列元数据信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1464371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.22驱动作业

1.使用GPIO子系统编写LED灯驱动&#xff0c;应用程序测试 2.注册三个按键的中断&#xff0c;只需要写内核代码 1.代码 应用程序&#xff1a; #include<stdlib.h> #include<stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fc…

Maven depoly:Skipping artifact deployment

问题描述&#xff1a; 使用IDEA执行mvn depoly将本地开发的模块发布到Maven私服时&#xff0c;一直提示&#xff1a;Skipping artifact deployment&#xff0c;自动跳过了depoly部署阶段。 问题分析 Maven构建生命周期中的每一个阶段都是由对应的maven插件执行具体工作的。既然…

Spring AOP 实现原理详解之 CGLIB 动态代理

目录 一. 前言 1.1. Spring AOP 和 CGLIB 是什么关系&#xff1f; 二. CGLIB 代理示例 2.1. pom 包依赖 2.2. 定义实体 2.3. 被代理的类 2.4. CGLIB 代理 2.5. 使用代理 三. CGLIB 代理的流程 四. Spring AOP 中 CGLIB 代理的实现 一. 前言 CGLIB 是一个强大的高性能…

Portraiture有哪些版本?2024最新版本如何下载

Portraiture有多个版本&#xff0c;其中常用的版本包括Portraiture 3和Portraiture 4。 Portraiture 3&#xff1a;该版本支持Adobe Photoshop CC 2019以上版本和Lightroom CC 2015以上版本&#xff0c;适用于Windows 11/10和macOS 11 Big Sur、12 Monterey、13 Ventura等操作…

Java字符集【ASCII,GBK,Unicode】

1.常见字符集 1.标准ASCII字符集 美国信息交换标准代码&#xff0c;包括了英文、符号等。 标准ASCII使用1个字节存储一个字符&#xff0c;首位是0&#xff0c;总共可表示128个字符&#xff0c;对美国人来说完全够用。 2.GBK&#xff08;汉字内码扩展规范&#xff0c;国标&#…

时域相位分析技术 和空域相位分析技术

l) 时域相位分析技术 在光 学测量 的许 多情况 下 &#xff0c; 时变图像信 号 的背景光 强 与调制 度可 以看作是 常 数 &#xff0c;并且 其光 强 随时 间 的变化也满足 正 弦条件 。 那 么针 对某 一 空 间采样 点 (x &#xff0c;y) &#xff0c; 某时刻 采 集到 的光 强 可…

PYTHON-使用正则表达式进行模式匹配

目录 Python 正则表达式Finding Patterns of Text Without Regular ExpressionsFinding Patterns of Text with Regular ExpressionsCreating Regex ObjectsMatching Regex ObjectsReview of Regular Expression MatchingMore Pattern Matching with Regular ExpressionsGroupi…

基于springboot+vue的酒店客房管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

【数据结构初阶 6】二叉树:堆的基本操作 + 堆排序的实现

文章目录 &#x1f308; Ⅰ 二叉树的顺序结构&#x1f308; Ⅱ 堆的概念与性质&#x1f308; Ⅲ 堆的基本操作01. 堆的定义02. 初始化堆03. 堆的销毁04. 堆的插入05. 向上调整堆06. 堆的创建07. 获取堆顶数据08. 堆的删除09. 向下调整堆10. 判断堆空 &#x1f308; Ⅳ 堆的基本…

【Git企业实战开发】Git常用开发流操作总结

【Git企业实战开发】Git常用开发流操作总结 大家好 我是寸铁&#x1f44a; 总结了一篇Git常用开发流操作总结的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 现在刚做项目的伙伴&#xff0c;可能你之前学过git&#xff0c;但是一实战发现不熟悉 没关系&#xff0c;看寸铁这篇…

色彩搭配:打造视觉吸引力与用户体验的关键

title: 色彩搭配&#xff1a;打造视觉吸引力与用户体验的关键 date: 2024/2/22 12:01:11 updated: 2024/2/22 12:01:11 tags: 网站色彩搭配视觉吸引力品牌形象用户体验设计色彩心理学配色技巧色轮互补 在当今数字化时代&#xff0c;网站已经成为了人们获取信息、进行交流和进行…

fatal error: costmap_2d/keepOutZone.h

fatal error: costmap_2d/keepOutZone.h: No such file or directory 7 | #include "costmap_2d/keepOutZone.h" 解决&#xff1a; #include "costmap_plugins/keepOutZone.h"代码中搜索 costmap_2d&#xff0c;全部替换成costmap_plugins&#xff1b…

【Unity】Unity与安卓交互

问题描述 Unity和安卓手机进行交互&#xff0c;是我们开发游戏中最常见的场景。本教程将从一个简单的例子来演示一下。 本教程需要用到Android Studio2021.1.1 1.Android Studio新建一个工程 2.选择Empty Activity 然后点击Next 3.点击Finish完成创建 4.选择File-New-New Mo…

Less预处理器教程

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 一、Less介绍 less官方文档 lesscss.org/ less中文文档 less.bootcss.com/ less是一种css预处理器&#xff0c;它扩展了css语言&#xff0c…

用Python插入页码到PDF文档

页码是许多类型文件中的重要内容&#xff0c;它能方便读者在文档中的导航。在创建PDF文档时&#xff0c;添加页码对于组织和引用内容特别有用。在本文中&#xff0c;我们将探讨如何利用Python程序高效地插入页码到PDF文档中&#xff0c;简化工作流程并创建出精美、结构合理的PD…

Eureka注册中心(黑马学习笔记)

Eureka注册中心 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图&#xff1a; 大家思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f; 有多个user-service实例地址&#xff0c…

从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践

导读&#xff1a;随着 360 企业安全浏览器用户规模的不断扩张&#xff0c;浏览器短时间内会产生大量的日志数据。为了提供更好的日志数据服务&#xff0c;360 企业安全浏览器设计了统一运维管理平台&#xff0c;并引入 Apache Doris 替代了 Elasticsearch&#xff0c;实现日志检…

Sulfo Cyanine3 dCTP,磺化-Cy3-dCTP,可以实时监测DNA的合成过程

Sulfo-Cy3-dCTP&#xff0c;Sulfo Cyanine3 dCTP&#xff0c;磺化-Cy3-dCTP&#xff0c;可以实时监测DNA的合成过程 您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Sulfo-Cy3-dCTP&#xff0c;Sulfo Cyanine3 dCTP&#xff0c;磺化-Cy3-dCTP 一、基本信息 产品简…

隐藏饿了么el-select组件的el-select-dropdown部分,只使用el-select的显示框

隐藏饿了么el-select组件的el-select-dropdown部分,只使用el-select的显示框 问题: 由于el-select组件的el-select-dropdown部分是自动插入在最外层Body上的&#xff0c;所以在当前组件的scoped中让el-select-dropdown组件display:none不会生效所以需要&#xff1a; :popper-…

企业数字化转型必备:大数据如何助力企业腾飞?

随着数字技术的迅猛发展&#xff0c;企业数字化转型已经成为一种不可逆转的趋势。在这个过程中&#xff0c;大数据扮演了至关重要的角色。那么&#xff0c;大数据究竟如何助力企业腾飞呢&#xff1f;接下来&#xff0c;我们将从多个角度深入剖析。 一、大数据助力企业精准决策 …