RocketMQ搭建(单组节点单副本模式)
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.serivce
[Unit] Description=mqnamesrv After=network.target [Service] Type=simple ExecStart=/usr/local/rocketmq/bin/mqnamesrv [Install] WantedBy=multi-user.target
配置broker服务systemd管理脚本,这里使用broker+proxy同进程启动。
vim /usr/lib/systemd/system/mqbroker.service
[Unit] Description=mqbroker After=network.target [Service] Type=simple ExecStart=/usr/local/rocketmq/bin/mqbroker -n localhost:9876 --enable-proxy [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'}]]