二、服务端安装
安装环境
- 64位操作系统,推荐 Linux/Unix/macOS
- 64位 JDK 1.8+
2.1 直装
机器IP:192.168.10.104
2.1.1 下载zip
wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip unzip rocketmq-all-4.9.4-bin-release.zip mv rocketmq-all-4.9.4-bin-release /opt/rocketmq
复制
2.1.2 启动NameSrv
按需调整jvm堆参数。虚拟机的适当改小,不然起不来的。
cd /opt/rocketmq
#修改nameServer的jvm参数,默认4g
vim bin/runserver.sh
复制
#启动nameServer服务
nohup sh bin/mqnamesrv >/dev/null 2>&1 &
#查看nameserver的日志
tail -f ~/logs/rocketmqlogs/namesrv.log
复制
2.1.3 启动Broker
Broker配置
vim conf/broker.conf
复制
brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 #broker角色 brokerRole = ASYNC_MASTER #刷盘策略 flushDiskType = ASYNC_FLUSH #指定nameServer地址 namesrvAddr = 192.168.10.104:9876 #指定Broker的IP,远程注册时避免自动获取ip无法访问 brokerIP1 = 192.168.10.104 brokerIP2 = 192.168.10.104
复制
#修改broker的jvm参数,默认8g
vim runbroker.sh
#启动broker
nohup sh bin/mqbroker -c conf/broker.conf >/dev/null 2>&1 &
#查看日志
tail -f ~/logs/rocketmqlogs/broker.log
复制
测试一下
export NAMESRV_ADDR=192.168.10.104:9876
#发送消息
./bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
#消费消息
./bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
复制
2.1.4 启动控制台
NameServer和Broker搭建完成之后,就可以用来收发消息。为了消息可视化监控和查看,可以搭一套可视化的服务。
使用rocketmq-dashboard搭建,可以使用容器搭建,也可以使用源码构建jar包启动。这里使用Docker启动。
#拉取奖项
docker pull apacherocketmq/rocketmq-dashboard:latest
#启动容器
docker run -d --name rd -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.10.104:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
复制
2.2 docker-compose启动
单节点集群
2.2.1 拉取镜像
docker pull apache/rocketmq:4.9.4 docker pull apacherocketmq/rocketmq-dashboard:1.0.0
复制
2.2.2 配置文件
broker节点的配置文件
#创建broker1的配置文件
mkdir -p /opt/rocketmq/broker/conf && cd /opt/rocketmq/broker/conf
vim broker.conf
复制
brokerClusterName = DefaultCluster
brokerName = broker-1
brokerId = 0
deleteWhen = 04
fileReservedTime = 72
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#写上运行主机的IP,公网调用得使用公网IP
brokerIP1 = 192.168.10.104
复制
2.2.3 调整挂载目录权限
mkdir -p /opt/rocketmq/broker/logs && mkdir -p /opt/rocketmq/broker/store
#容器内是rocketmq用户运行,对应得gid:uid就是3000:3000
chmod -R 755 /opt/rocketmq && chown -R 3000:3000 /opt/rocketmq
复制
2.2.4 启动
cd /root/rocketmq
docker-compose up -d
复制
docker-compose.yml
version: '3.3'
services:
namesrv:
image: apache/rocketmq:4.9.4
container_name: rmqnamesrv
ports:
- 9876:9876
environment:
JAVA_OPT_EXT: "-server -Xms512m -Xmx512m"
volumes:
- /opt/rocketmq/namesrv/logs:/home/rocketmq/logs
command: sh mqnamesrv
restart: always
broker1:
image: apache/rocketmq:4.9.4
container_name: rmqbroker
links:
- namesrv
ports:
- 10909:10909
- 10911:10911
- 10912:10912
environment:
NAMESRV_ADDR: namesrv:9876
JAVA_OPT_EXT: "-server -Xms512m -Xmx512m"
volumes:
- /opt/rocketmq/broker/logs:/home/rocketmq/logs
- /opt/rocketmq/broker/store:/home/rocketmq/store
- /opt/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.9.4/conf/broker.conf
command: sh mqbroker -c /opt/rocketmq-4.9.4/conf/broker.conf
restart: always
dashbord:
image: apacherocketmq/rocketmq-dashboard:1.0.0
ports:
- 8080:8080
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv:9876"
restart: always
复制
2.3.5 broker单独启动
如果想启动多个broker就在另外的机器上启动,注册到同一个nameServer上。
docker run -d --name rmqbroker \
-p 10909:10909 -p 10911:10911 -p 10912:10912 \
-e "NAMESRV_ADDR=192.168.10.104:9876" \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" \
-v /opt/rocketmq/broker/logs:/home/rocketmq/logs \
-v /opt/rocketmq/broker/store:/home/rocketmq/store \
-v /opt/rocketmq/broker/conf/:/opt/rocketmq-4.9.4/conf \
apache/rocketmq:4.9.4 \
sh mqbroker -c /opt/rocketmq-4.9.4/conf/broker.conf
复制
最后修改时间:2023-05-17 10:23:54
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
60分钟部署Oracle 21c RAC
王先生
250次阅读
2025-03-04 16:31:52
玩转DeepSeek系列:使用OCI GPU快速部署推理模型
甲骨文云技术
99次阅读
2025-03-03 09:46:33
EMQX MCP Server:实现 Claude 与 MQTT 交互新可能
EMQX
42次阅读
2025-03-07 10:29:52
docker下mysql升级
在路上
38次阅读
2025-03-02 19:55:18
如何使用 RisingWave 和 PuppyGraph 构建高性能实时图分析框架
RisingWave中文开源社区
29次阅读
2025-03-18 10:49:54
详细到没朋友的 NebulaGraph 桌面版部署指南
NebulaGraph 技术社区
25次阅读
2025-03-07 10:29:53
一键部署 GPU Kind 集群,体验 vLLM 极速推理
Se7en的架构笔记
21次阅读
2025-03-24 09:41:41
NineData 社区版初体验,大超预期
老叶茶馆
16次阅读
2025-03-18 10:45:49
下一代DBA必备技能
Bytebase
14次阅读
2025-03-28 14:59:40
使用Docker五分钟快速安装配置oracle数据库【最新版】【测试成功】
巴韭特锁螺丝
10次阅读
2025-03-10 08:47:21