RabbitMQ 普通集群配置_04

接上一篇:(企业级) 搭建集群 RabbitMQ SHELL脚本实战_03

文章目录

  • RabbiMQ简介
  • RabbiMQ模式
  • RabbiMQ特点
  • 环境部署总览
  • 一、基础配置及RabbitMQ 安装
    • 1. 配置hosts文件
    • 2. 安装配置RabbitMQ
    • 3. 思路分析
  • 二、RabiitMQ 集群配置同步
    • 2.1. 拷贝erlang.cookie
    • 2.2. 同步.erlang.cookie
    • 2.3. 重新启动RabbitMQ服务
    • 2.4. 查看监听端口
    • 2.5. 将ly-02、ly-03作为内存节点加入ly-01节点集群中
    • 2.6. ly-02 加入集群操作记录
    • 2.7. ly-03 加入集群操作记录
    • 2.8. 查看集群状态
  • 三、登录rabbitmq web管理控制台
    • 3.1. 访问管控台
    • 3.2. 创建新的队列aa

RabbiMQ简介

RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡。

RabbiMQ模式

RabbitMQ模式大概分为以下三种:

  • (1)单一模式。
  • (2)普通模式(默认的集群模式)。
  • (3) 镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。
    要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。

RabbiMQ特点

RabbitMQ的集群节点包括内存节点、磁盘节点。RabbitMQ支持消息的持久化
也就是数据写在磁盘上,最合适的方案就是既有内存节点,又有磁盘节点。

环境部署总览

IP地址主机名防火墙和SELinux用途
192.168.43.242ly-01关闭磁盘节点
192.168.43.134ly-02关闭内存节点
192.168.43.228ly-03关闭内存节点

注意,这里三台服务器都连接上互联网,另外RabbitMQ集群节点必须在同一网段里,如果是跨广域网,效果会变差。

一、基础配置及RabbitMQ 安装

分别登录ly-01、ly-02、ly-03 执行以下操作:

1. 配置hosts文件

更改三台MQ节点的计算机名分别为ly-01、ly-02 和、y-03

#修改`hosts`配置文件
vim /etc/hosts
添加内容如下:
192.168.43.242 ly-01  
192.168.43.134 ly-02
192.168.43.228 ly-03

2. 安装配置RabbitMQ

(企业级) CentOS7 安装 RabbitMQ最新版本 下载、安装、配置、运行、部署_01

3. 思路分析

上面就是需要在3台服务器上都要RabbitMQ下载、安装、配置、部署,那怎样才能
快速安装配置RabbitMQ呢?
(企业级) 搭建集群RabbitMQ 快速下载、安装、配置、部署_02
(企业级) 搭建集群RabbitMQ SHELL脚本实战_03

二、RabiitMQ 集群配置同步

  • 登录ly-01操作

2.1. 拷贝erlang.cookie

Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信。

  • 查看.erlang.cookie内容,每一天的内容是不一样的
[root@ly01 ~]# cat /var/lib/rabbitmq/.erlang.cookie 
XAHPZVPYUQDWWJIOHUPQ

2.2. 同步.erlang.cookie

  • 用scp的方式将mq01节点的.erlang.cookie的值复制到其他两个节点中。
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.43.134:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.228:/var/lib/rabbitmq/.erlang.cookie

2.3. 重新启动RabbitMQ服务

#运行脚本
bash rabbitmq_guard_start.sh注如果不是root用户,请采用下面操作
#黑脚本赋予可执行权限
chmod u+x rabbitmq_guard_start.sh
#运行脚本
#格式 ./config_file.sh rabbitmq_server版本
./rabbitmq_guard_start.sh#内容如下:
rabbitmq-server start &

2.4. 查看监听端口

(插件监控的端口是15672)

netstat -ntap | grep 5672
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      8112/beam.smp       
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      8112/beam.smp       
tcp6       0      0 :::5672                 :::*                    LISTEN      8112/beam.smp       
[root@ly-01 ~]#

在这里插入图片描述

2.5. 将ly-02、ly-03作为内存节点加入ly-01节点集群中

在ly-02、ly-03执行如下命令:

rabbitmqctl stop_app    //停掉rabbit应用
rabbitmqctl join_cluster --ram rabbit@mq01 //加入到磁盘节点
rabbitmqctl start_app  //启动rabbit应用

或者启动脚本:

#运行脚本
#格式 bash join_cluster_node.sh 磁盘节点域名或者ip地址
#参考下面2个栗子,任选其一即可
bash join_cluster_node.sh ly-01
bash join_cluster_node.sh 192.168.43.242注如果不是root用户,请采用下面操作
#给脚本赋予可执行权限
chmod u+x join_cluster_node.sh
#运行脚本
#格式 ./join_cluster_node.sh 磁盘节点域名或者ip地址
#例子如下:
./join_cluster_node.sh ly-01
./join_cluster_node.sh 192.168.43.242#添加内容如下:
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@$1
rabbitmqctl start_app

2.6. ly-02 加入集群操作记录

[root@ly-02 app]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@ly-02 ...
[root@ly-02 app]# rabbitmqctl join_cluster --ram rabbit@ly-01
Clustering node rabbit@ly-02 with rabbit@ly-01
[root@ly-02 app]# rabbitmqctl start_app
Starting node rabbit@ly-02 ...##  ####  ##      RabbitMQ 3.7.24. Copyright (c) 2007-2020 Pivotal Software, Inc.##########  Licensed under the MPL.  See https://www.rabbitmq.com/######  ############  Logs: /var/log/rabbitmq/rabbit@ly-02.log/var/log/rabbitmq/rabbit@ly-02_upgrade.logStarting broker...completed with 3 plugins.
[root@ly-02 app]# 

2.7. ly-03 加入集群操作记录

[root@ly-03 app]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@ly-03 ...
[root@ly-03 app]# rabbitmqctl join_cluster --ram rabbit@ly-01
Clustering node rabbit@ly-03 with rabbit@ly-01
[root@ly-03 app]# rabbitmqctl start_app
Starting node rabbit@ly-03 ...##  ####  ##      RabbitMQ 3.7.24. Copyright (c) 2007-2020 Pivotal Software, Inc.##########  Licensed under the MPL.  See https://www.rabbitmq.com/######  ############  Logs: /var/log/rabbitmq/rabbit@ly-03.log/var/log/rabbitmq/rabbit@ly-03_upgrade.logStarting broker...completed with 3 plugins.
[root@ly-03 app]#
(1)默认rabbitmq启动后是磁盘节点,在这个cluster命令下,mq02和mq03是内存节点,mq01是磁盘节点。
(2)如果要使mq02、mq03都是磁盘节点,去掉--ram参数即可。
(3)如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉rabbit应用

2.8. 查看集群状态

[root@ly-01 ~]# rabbitmqctl cluster_status 
Cluster status of node rabbit@ly-01 ...
[{nodes,[{disc,['rabbit@ly-01']},{ram,['rabbit@ly-03','rabbit@ly-02']}]},{running_nodes,['rabbit@ly-03','rabbit@ly-02','rabbit@ly-01']},{cluster_name,<<"rabbit@ly-01">>},{partitions,[]},{alarms,[{'rabbit@ly-03',[]},{'rabbit@ly-02',[]},{'rabbit@ly-01',[]}]}]
[root@ly-01 ~]# 

在这里插入图片描述

三、登录rabbitmq web管理控制台

3.1. 访问管控台

打开浏览器输入http://192.168.43.242:15672,
输入默认的Username:guest,输入默认的Password:guest ,登录后出现如图所示的界面
在这里插入图片描述

3.2. 创建新的队列aa

根据界面提示创建一条队列
在这里插入图片描述
在这里插入图片描述
在RabbitMQ集群集群中,必须至少有一个磁盘节点,否则队列元数据无法写入到集群中,当磁盘节点宕掉时,集群将无法写入新的队列元数据信息。

接下一篇:
(企业级) RabbitMQ 镜像集群配置_05

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

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

相关文章

java 百度api接口开发_百度熊掌号使用Java工具类对接API推送接口进行文章推送实例详解...

对于java程序员来说&#xff0c;自己运维的百度熊掌号当然得使用java的方式去每天推送文章了。目前&#xff0c;百度推出了百度熊掌号服务。旨在更好的为站长服务。那么百度熊掌号如何通过推送API接口实现自动文章推送呢&#xff1f;第一步&#xff1a;注册注册百度熊掌号&…

RabbitMQ 集群搭建_02_rpm版本(linux环境)

接上一篇&#xff1a;(企业级) CentOS7 安装 RabbitMQ最新版本 下载、安装、配置、运行、部署_01 文章目录一、SHELL脚本说明1. 选择脚本的原因2. 脚本总览二、脚本实战2.1. 安装rabbitmq前要准备的基础环境2.2. wget 远程下载安装包2.3. rpm安装软件2.4. 编辑配置文件修改密码…

力荐联邦学习系统,据说英伟达Clara“上架”新进展!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 晶少责编 | 阿秃这是晶少本年度第二次面访Kimberly Powell&#xff0c;这位英伟达医疗领域的美女副总裁。除了一贯的nice之外&#xff0c;更重要的一点&#xff0c;在深圳MICCAI 2019期间&#xff0c;英伟达医疗团队还带来了…

设置线程当天十二点执行_这份JAVA多线程笔记真的是细节满满,几乎全是你工作能用到的干货...

前言1:发挥多核CPU的优势(充分利用cpu资源)如果是单线程的程序&#xff0c;那么在双核CPU上就浪费了50%&#xff0c;在4核CPU上就浪费了75%。单核CPU上所谓的”多线程”那是假的多线程&#xff0c;同一时间处理器只会处理一段逻辑&#xff0c;只不过线程之间切换得比较快&#…

java多参方法_Java中多参数方法进阶

多参数方法的问题相信很多人曾经都写过多参数的构造方法&#xff0c;就像下面示例的代码。当想要创建一个给全部属性赋值的实例的时候&#xff0c;就会利用这个多参数的构造方法。但是&#xff0c;当类的属性特别多的时候&#xff0c;你还会这么写吗&#xff1f;如果你写了一个…

Pod Preset玩转K8S容器时区自动配置

缘由 默认的情况&#xff0c;在K8S里启动一个容器&#xff0c;该容器的设置的时区是UTC0&#xff0c;但是对于很多客户而言&#xff0c;其主机环境并不在UTC0。例如中国客户在UTC8。如果不把容器的时区和主机主机设置为一致&#xff0c;则在查找日志等时候将非常不方便&#x…

泪目!连拿3份 offer,AI 程序员求职经历火爆 IT圈!

程序员&#xff0c;如果有一天&#xff0c;你突然“被裁员”会怎么样&#xff1f;最近在知乎上浏览&#xff0c;看到这样一则内容&#xff1a;2019年&#xff0c;被裁员怎么挺过来&#xff1f;来源&#xff1a;知乎&#xff1a;https://www.zhihu.com/question/314153857其中这…

java 静态方法_80后程序员,教你学Java核心技术:用户自定义类+静态域静态方法

用户自定义类在第3章中&#xff0c;已经开始编写了一些简单的类。但是&#xff0c;那些类都只有一个简单的main方法。现在让我们开始学习如何设计复杂应用程序所需要的各种“主力类”(workhorse class)。通常&#xff0c;这些类没有main方法&#xff0c;而有自定义的实例域和实…

容器服务kubernetes弹性伸缩高级用法

前言 近期&#xff0c;阿里云容器服务kubernetes发布了cluster-autoscaler的支持&#xff0c;开发者可以通过页面简单快捷的配置节点的弹性伸缩&#xff0c;支持普通实例、GPU实例以及竞价实例帮助开发者实现架构弹性和运营成本之间的博弈。阿里云容器服务kubernetes的cluster…

主进程中发生javascript错误_你知道 JavaScript 中的错误对象有哪些类型吗?

每当 JavaScript 中发生任何运行时错误时&#xff0c;都会引发Error对象。在许多情况下&#xff0c;我们还可以扩展这些标准Error对象&#xff0c;以创建我们自己的自定义Error对象。属性Error 对象具有2个属性name ——设置或返回错误名称。具体来说&#xff0c;它返回错误所属…

CSDN 1024,“猿”来在等你!

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术深不可测、薪资难以想象、着装招人吐槽、发量让人惊叹、笑点着实密集、情商令人堪忧......在这个你我他她它通过网络紧密互联、消息实时互通的 21 世纪&#xff0c;人们对身处技术至高点的程序员们仍然有着以上不接地气、呆板保…

BigData:值得了解的十大数据发展趋势

当今&#xff0c;世界无时无刻不在发生着变化。对于技术领域而言&#xff0c;普遍存在的一个巨大变化就是为大数据&#xff08;Big data&#xff09;打开了大门&#xff0c;并应用大数据技相关技术来改善各行业的业务并促进经济的发展。目前&#xff0c;大数据的作用已经上升到…

基于FPGA的图像Robert变换实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 fpga的结果导入到matlab显示&#xff1a; 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 ..................................…

RabbitMQ 镜像集群配置_05

接上一篇&#xff1a;(企业级) RabbitMQ 普通集群配置_04 文章目录一、RabbitMQ 策略实战1. 创建RabbitMQ 策略2. ly-01节点查看创建RabbitMQ 策略3. 登录ly-02管控台查看创建RabbitMQ 策略4. 登录ly-03管控台查看创建RabbitMQ 策略二、添加队列测试2.1. 添加队列2.2. Queues菜…

2018年9月杭州云栖大会Workshop - 基于日志的安全分析实战

基于日志的安全分析实战 背景 越来越多的企业开始重视构建基于日志的安全分析与防护系统。我们会讲述如何使用日志服务从0到1收集海量日志&#xff0c;并从中实时筛选、甄别出可疑操作并快速分析&#xff0c;进一步构建安全大盘与可视化。并通过实战方式&#xff0c;演练覆盖…

不服OceanBase跑分?今天起可到阿里云上一战

蚂蚁金服自研数据库OceanBase登顶TPC-C榜单的消息振奋人心&#xff0c;同时引起国内技术圈的广泛讨论&#xff0c;第一个云上跑出来的数据库分数含金量如何&#xff1f;其他数据库有没有可能更强&#xff1f; 针对这些疑惑&#xff0c;10月24日阿里云以一种最为直接的方式作出…

张勇:新技术是阿里“五新战略”的引擎

9月19日&#xff0c;云栖大会再次在杭州开幕。上千位顶级学者、行业专家&#xff0c;来自64个国家的CEO和CTO齐聚云栖小镇。这已经是这个盛大的年度技术大会的第十年。 阿里巴巴集团CEO张勇在主论坛致辞中表示&#xff0c;“阿里巴巴永远是一家技术驱动&#xff0c;使商业有所…

钉钉视频会议

基于 DingTalk_v5.0.0.74版本制作

图书馆管理系统怎么做_亚马逊erp管理系统有免费的吗?亚马逊erp管理系统怎么免费做...

我做跨境电商也有六年的时间了&#xff0c;在电商这个行业也有自己的一些经验。经验也许没有其他大卖家丰富&#xff0c;但会将我知道的都进行分享。如果有不懂得亚马逊问题可以我(V&#xff1a;772024802)。我这里给大家安排一堂直播课&#xff0c;可以系统的帮你解决做亚马逊…

程序员去交友网站找女友,没想到找到了这个...

1024程序员节&#xff0c;CSDN旗下的码书商店为程序员放个“价”&#xff08;10月25日截止&#xff09;&#xff0c;全场所有书籍8折&#xff0c;电子产品可以拥有大额优惠券&#xff0c;购买前可加文末客服微信领取优惠券哦卫衣原价249元&#xff0c;1024活动价159元&#xff…