CentOS 部署rocketmq集群

news2024/9/29 9:22:21

一、rocketmq 概览

1.rocketmq简介
rocketmq是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。能够保证严格的消息顺序,提供丰富的消息拉取模式,高效的订阅者水平扩展能力,实时的消息订阅机制。
2.rocketmq结构

rocketmq主要有四大核心部分组成:nameSrv、broker、producer以及consumer四部分。rocketmq基于纯java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。

  • nameSrv:提供轻量级的服务发现路由,每个nameSrv都记录完整的路由信息,nameSrv是一个服务与注册的发现中心。也是整个rocketmq的“大脑”,所以rocketmq需要先启动nameSrv再启动broker。
  • broker:消息存储中心,主要作用是接收来自producer的消息并存储,consumer从这里取得消息。存储与消息相关的元数据,包括用户组、消费进度偏移量、队列信息等。提供轻量级的topic和queue机制在存储消息。
  • producer:消息生产者。负责生产并发送消息至topic。生产者向broker发送由业务应用程序系统生成的消息。
  • consumer:消息消费者。负责从topic接收消费消息。消费者从broker离去信息并将其输入应用程序。从Master拿到消息,执行完成后,会发送一个消息给Broker进行确认,这个就是ACK确认。

二、安装rocketmq

  • CentOS 8
  • jdk1.8
  • IP:10.0.0.56
  • IP:10.0.0.58

1.下载上传rocketmq解压

cd /opt
unzip rocketmq-all-4.9.4-bin-release

rocketmq目录介绍:

bin启动脚本,包括shell脚本和cmd脚本
conf实例配置文件,包括broker配置文件、logback配置文件等
lib依赖jar包,包括Netty、commons-lang、FastJSON等

2.配置全局环境变量

mv rocketmq-all-4.9.4-bin-release /usr/local/rocketmq
vi /etc/profile
# 添加以下配置
export PATH=$PATH:/usr/local/rocketmq/bin
export NAMESRV_ADDR=localhost:9876

source /etc/profile

3.修改内存配置

cd /usr/local/rocketmq/bin
vim runserver.sh

在这里插入图片描述

vim runbroker.sh

在这里插入图片描述

三、搭建主从集群

1. 10.0.0.56服务器配置

cd /usr/local/rocketmq/
cp -r conf/2m-2s-async/ seleconf
vim seleconf/broker-a.properties

#添加以下配置
namesrvAddr=10.0.0.56:9876;10.0.0.58:9876    #集群IP地址
brokerClusterName=DefaultCluster        
brokerName=broker-a   
brokerId=0       #0为主,非0为从
deleteWhen=04           #删除日志时间为凌晨4点
fileReservedTime=48        #文件保留时间为48小时
brokerRole=SYNC_MASTER     #主从关系,异步复制
flushDiskType=ASYNC_FLUSH     #刷盘模式,异步刷盘

2.10.0.0.58服务器配置

cd /usr/local/rocketmq/
cp -r conf/2m-2s-async/ seleconf
vim seleconf/broker-a.properties

#添加以下配置
namesrvAddr=10.0.0.56:9876;10.0.0.58:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

3.启动nameSrv服务

cd /usr/local/rocketmq
nohup sh bin/mqnamesrv > logs/mqnamesrv.log 2>&1 &

#查看启动日志
tail -f logs/mqnamesrv.log

#停止namesrv命令
sh bin/mqshutdown namesrv

4.启动主从

#启动主节点10.0.0.56
nohup sh bin/mqbroker -c conf/selfconf/broker-a.properties > logs/broker-a.log 2>&1 &

#查看启动日志
tail -f logs/broker-a.log

#启动从节点10.0.0.58
cd /usr/local/rocketmq
nohup sh bin/mqbroker -c conf/selfconf/broker-a.properties > logs/broker-a.log 2>&1 &

#停止broker服务命令
sh bin/mqshutdown broker

5.查看集群部署信息

sh bin/mqadmin clusterList -n 10.0.0.56:9876
#或
sh bin/mqadmin clusterList -n 10.0.0.58:9876

在这里插入图片描述

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

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

相关文章

项目四:使用路由交换机构建园区网-任务三:配置路由交换机并进行通信测试

配置路由交换机并通信测试1、在RS-1上创建VLAN并配置Trunk接口2、测试通信结果3、配置RS-1的三层路由接口(SVI)1、在RS-1上创建VLAN并配置Trunk接口 进入系统视图,关闭信息中心,重命名为RS-1 system-view undo info-center enab…

day48第九章动态规划(二刷)

今日任务 198.打家劫舍213.打家劫舍II337.打家劫舍III 今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。 198.打家劫舍 题目链接: https://leetcode.cn/problems/house-robber/description/ 题目描述: 你是一个…

synchronized轻量级锁优化

synchronized优化轻量级锁 使用场景 如果一个对象虽然有多个线程访问,但多线程访问时间是错开的,也就是没有竞争,那么可以使用轻量级锁优化; 原理 1、每个线程的栈帧中有锁记录 包括:记录锁对象的地址Object refer…

一次有效沟通的组成

犹记得之前看过一篇文章当中写道 『Tech Lead 作为开发团队的技术负责人,对内对外都起到至关重要的作用。Tech Lead 对外是团队技术能力的展现窗口,需要将团队的技术能力呈现给客户或业务团队。对内他需要和各个角色紧密协作,给非技术角色技术…

50年前的程序员女神,用代码把人类送上月球

1969年7月20日,经过4天飞行的阿波罗11号终于来到了最关键的时刻:降落到月球表面。就在这个时候,飞船计算机突然开始闪烁报警。全球6亿人在观看电视直播,NASA飞行控制中心的气氛让人窒息。人类的首次登月计划面临着艰难的抉择&…

d3绘图笔记

D3绘图笔记 安装与引用 npm install d3 --save-dev import * as d3 from d3; 选择器 d3.select() 可直接接元素名,也可以接属性与类 添加svg标签 this.d3 d3.select(.myd3) let svg this.d3.append("svg") // 添加svg并设置好高宽 .attr("wid…

<Linux>system v通信

前言😃😃😃进程间通信的方式管道 - Linux原生提供SystemV - 多线程单机通信posix - 多线程网络通信这里我们主要是介绍一下SystemV通信方式一、SystemV原理首先我们需要知道通信的本质:多个进程能看到同一个资源,即内存…

如何使用码匠连接 CouchDB

目录 在码匠中集成 CouchDB 在码匠中使用 CouchDB 关于码匠 CouchDB 是一种开源的 NoSQL 数据库服务,它使用基于文档的数据模型来存储数据。CouchDB 的数据源提供了高度可扩展性、高可用性和分布式性质。它支持跨多个节点的数据同步和复制,可以在多个…

mysql数据库之表级锁

表级锁,每次操作锁住整张表。锁定粒度大,发生所冲突的概率最高,并发度最低。应用在myisam、innodb、bdb等存储引擎中。 一、表级锁分类。 1、表锁 2、元数据锁(meta data lock,MDL) 3、意向锁 二、表锁…

yum保留安装包

一. 用downloadonly下载 1.1 处理依赖关系自动下载到/tmp/pages目录,pages这个目录会自动创建 yum install --downloadonly --downloaddir/tmp/pages ceph-deploy注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下…

微信小程序的代码由哪些结构组成?

小程序官方建议把所有小程序的页面,都存放在pages 目录中,以单独的文件夹存在,如图所示: 其中,每个页面由4 个基本文件组成,它们分别是:js文件(页面的脚本文件,存放页面的数据、事件…

Bean三种实例化方式的底层原理

Bean实例化的三种方式 1,使用类构造器实例化(无参构造函数)2,使用静态工厂方法实例化(简单工厂模式)3,使用实例工厂方法实例化(工厂方法模式) 基于以上的三种方式&…

时间轮来优化定时器

在raft协议中, 会初始化三个计时器是和选举有关的: voteTimer:这个timer负责定期的检查,如果当前的state的状态是候选者(STATE_CANDIDATE),那么就会发起选举 electionTimer:在一定时…

Photoshop如何安装ZXP扩展插件?

Photoshop如何安装ZXP扩展插件呢?有一些小伙伴不会安装,今天介绍两种安装ZXP扩展的方法,希望对能帮助到大家。方法一:手动安装方式1)把下载好的.zxp扩展名改为.zip,然后解压。Windows系统:C:\Us…

参考文献去哪里查找,参考文献标准格式是什么

1、参考文献类型: 普通图书[M]、期刊文章[J]、报纸文章[N]、论文集[C]、学位论 文[D]、报告[R]、标准[s]、专利[P]、数据库[DB]、计算机程序[CP]、电 子公告[EB]、联机网络[OL]、网上期刊[J/OL]、网上电子公告[EB/OL]、其他未 说明文献[z]。…

I.MX6ULL_Linux_驱动篇(28) 字符设备驱动

字符设备驱动简介 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这…

蓝牙耳机品牌哪个质量好?2023质量好的蓝牙耳机推荐

相较于有线耳机,蓝牙耳机凭借更方便地使用而受到不少人的喜爱,蓝牙耳机各种性能的发展也越来越先进。哪个品牌的蓝牙耳机质量好?针对这个问题,我来给大家推荐几款质量好的蓝牙耳机,一起来看看吧。 一、南卡小音舱蓝牙耳…

接口请求参数异常之@RequestParam

问题 具体问题如下: 正确的如下: 如上两图所示:我们的请求参数是pageNo和pageSize,但是却没有正确显示,则说明我们的接口存在了问题。 分析问题 参数为什么没有正确的显示每页显示条数和当前页数,而是我…

jmeter-定时器

记录下业务中常用的定时器概念以及使用流程,仅供自己学习。 定时器的作用域 1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面); 2、当执行一个sa…

Apache HTTP Server <2.4.56 mod_proxy 模块存在请求走私漏洞(CVE-2023-25690)

漏洞描述 Apache HTTP Server是一款Web服务器。 该项目受影响版本存在请求走私漏洞。由于intro.xml中存在RewriteRule配置不当,当Apache启用mod_proxy且配置如 RewriteRule “^/here/(.*)” " http://example.com:8080/elsewhere?$1"; http://example.…