首页 > 其他分享 >RocketMQ搭建(单组节点单副本模式)

RocketMQ搭建(单组节点单副本模式)

时间:2024-02-20 11:22:59浏览次数:26  
标签:bin 副本 xxx broker RocketMQ 单组 local rocketmq usr

RocketMQ搭建(单组节点单副本模式)

 

1、下载RocketMQ二进制包

wget https://archive.apache.org/dist/rocketmq/5.1.2/rocketmq-all-5.1.2-bin-release.zip

 

2、解压,移动程序包至安装目录并创建软连接。

unzip rocketmq-all-5.1.2-bin-release.zip
mv rocketmq-all-5.1.2-bin-release /opt/rocketmq-5.1.2
ln -s /opt/rocketmq-5.1.2 /usr/local/rocketmq

 

3、修改启动脚本,更改默认的日志和数据目录路径,根据需求调整服务内存资源限制。

  3.1、修改nameserver配置

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

  将

   修改为:

   其实就是加了一个java的启动参数 -Duser.home=/usr/local/rocketmq ,根据自己情况进行修改,一个是修改了nameserver的堆内存资源大小,一个是修改了user.home的值。

  3.2、修改broker启动脚本,修改情况同上,调整堆内存资源和user.home的值。

vim /usr/local/rocketmq/bin/runbroker.sh

 

4、配置systemd管理脚本

  配置nameserver服务systemd管理脚本

vim /usr/lib/systemd/system/mqnamesrv.service
[Unit]
Description=mqnamesrv
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/rocketmq/bin/mqnamesrv

[Install]
WantedBy=multi-user.target

  配置broker服务systemd管理脚本

vim /usr/lib/systemd/system/mqbroker.service
[Unit]
Description=mqbroker
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/rocketmq/bin/mqbroker

[Install]
WantedBy=multi-user.target

5、启动nameserver和broker,设置开机启动
systemctl start mqnamesrv
systemctl enable mqnamesrv
systemctl start broker
systemctl enable broker

 

6、使用工具测试消息收发

  1、设置NAMESRV_ADDR环境变量,设置为nameserver地址。

export NAMESRV_ADDR=localhost:9876

  2、发送测试

/usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

  最后出现以下类信息则说明测试成功。

SendResult [sendStatus=SEND_OK, msgId=C0A801B52849378FD1AC643AB55303E6, offsetMsgId=C0A801B500002A9F000000000003AB1A, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=1], queueOffset=249]

  3、消费测试

/usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

  最后出现以下类信息则说明测试成功。

ConsumeMessageThread_please_rename_unique_group_name_4_2 Receive New Messages: [MessageExt [brokerName=broker-a, queueId=0, storeSize=239, queueOffset=0, sysFlag=0, bornTimestamp=1708398366250, bornHost=/xxx.xxx.xxx.xxx:36736, storeTimestamp=1708398366253, storeHost=/xxx.xxx.xxx.xxx:10911, msgId=C0A801B500002A9F00000000000000EF, commitLogOffset=239, bodyCRC=1250039395, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={CONSUME_START_TIME=1708398766170, MSG_REGION=DefaultRegion, UNIQ_KEY=C0A801B52849378FD1AC643AAA2A0001, CLUSTER=DefaultCluster, MIN_OFFSET=0, TAGS=TagA, WAIT=true, TRACE_ON=true, MAX_OFFSET=250}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 50], transactionId='null'}]]

 

标签:bin,副本,xxx,broker,RocketMQ,单组,local,rocketmq,usr
From: https://www.cnblogs.com/NanZhiHan/p/18022693

相关文章

  • RocketMQ源码系列(1) — 基础架构
    基础架构我们先通过下面这张图来整体的对RocketMQ有一个基础架构上的认识。RocketMQ主要有四个角色:NameServer、Broker、Producer、Consumer。Broker每台机器上部署的RocketMQ进程一般称之为Broker,生产者向Broker发送消息,Broker收到生产者的消息后存储到本地磁盘文件中......
  • RocketMQ—RocketMQ消息重复消费问题
    RocketMQ—RocketMQ消息重复消费问题重复消费问题的描述什么情况下会发生重复消费的问题:生产者多次投递消息:如果生产者发送消息时,连接有延迟,MQ还没收到消息,生产者又发送了一次消息;消费者方扩容时会重试:topic中有四个queue,queue2中有一个消息MSG,如果此时只有一个消费者,MSG......
  • RocketMQ—RocketMQ消费重试和死信消息
    RocketMQ—RocketMQ消费重试和死信消息消费重试生产者重试设置重试的代码如下//失败的情况重发3次producer.setRetryTimesWhenSendFailed(3);//消息在1S内没有发送成功,就会重试producer.send(msg,1000);一般情况下,我们不会在生产者方进行重试。消费者重试消费者在消......
  • 大白话-设计RocketMQ延迟消息
    延迟消息一般用于:提前发送消息,延迟一段时间后才需要被处理的场景。比如:下单半小时后还未支付,则取消订单释放库存等。RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。为什么RocketM......
  • MySQL中复制表(创建表的副本、备份表)
    1.第一种复制表结构和数据--复制表的结构和数据,但是不会复制表的约束、外键、触发器、索引等createtabletest_duplicationasselect*fromtest;--此处的as可以省略2.第二种只复制表的结构createtabletest_duplicationasselect*fromtestwhere1=0;--此......
  • RocketMQ_详细配置与使用详解
    为什么要用MQ 应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。 使用消息队列解耦合,系统的耦合性就会提高了。......
  • 动力节点最新RocketMQ基本操作-01
    动力节点最新RocketMQ基本操作1. RocketMQ简介MQ====MessageQueue编程中的 同步:排队一个一个走;一个动作做完以后,才能进行下一个异步:各走各的;两个动作可以同时做;官网:  http://rocketmq.apache.org/ RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是......
  • h5 canvas 视频透明度抠图,视频需要一个灰度通道副本表示透明度
    视频透明度抠图,视频需要一个灰度通道副本表示透明度目前抖音等直播平台的礼物特效就是这个方法处理的 <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>视频灰度通道抠图,视频包含灰度值表示透明的副本</title><style>html,body{ ::-......
  • RocketMQ应用-基金购买秒杀实现
    架构支持根据实际业务场景,分析集群分流的具体处理方案,假设基金购买接口单次处理时间为500ms,tomcat使用默认线程数200,则单个tomcat处理基金购买接口的QPS=1000/500*200=400。场景1-4000QPS要求实现4000QPS的并发量,可以部署10个tomcat集群应用,使用nginx做负载均衡,轮询分配到tomc......
  • RocketMQ应用-消费幂等性问题解决
    重复消费产生原因生产者多次投递-投递时服务端接收后客户端网络原因确认失败,重新投递消费者扩容重试-消费者扩容导致正在消费的消息没有正常应答,服务端重新推送重复消费解决方案给消息增加唯一key,消费时校验key是否已经消费过消费者控制消息的幂等性(多次同样的操作结果一......