RocketMQ部署
部署架构图
如图所示为RocketMQ基本的部署结构,主要分为NameServer集群、Broker集群、Producer集群和Consumer集群四个部分。
单Master部署
前置条件
- 64bit OS, Linux/Unix/Mac is recommended;
- 64bit JDK 1.8+;
- 4g+ free disk for Broker server
部署步骤
JDK部署
略上传文件到目标服务器并解压
1
unzip rocketmq-all-4.7.1-bin-release.zip -d /usr/local/
配置文件修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#集群名称
brokerClusterName = DefaultCluster
#broker名称
brokerName = broker-44
#0表示Master主节点,大于0表示从节点
brokerId = 0
#每天执行删除过期文件的时间,默认每天凌晨4点
deleteWhen = 04
#文件保留时间,默认72小时
fileReservedTime = 72
# 异步复制master角色
brokerRole = ASYNC_MASTER
# 异步刷盘
flushDiskType = ASYNC_FLUSH
# Broker 监听的端口号
listenPort=10911
#Broker 服务地址
brokerIP1=10.18.23.44
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#数据存放的根目录
storePathRootDir=/usr/local/rocketmq-all-4.7.1-bin-release/data/store
storePathCommitLog=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/commitlog
# 消费队列存储路径存储路径
storePathConsumerQueue=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/abort配置文件中只需要brokerName、brokerIP1即可
调整JVM启动参数
修改启动堆内存以及新生代大小修改bin/runserver.sh文件
1
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改为
1
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改runbroker.sh文件
1
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
修改为
1
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
启动name server服务
1
nohup sh bin/mqnamesrv &
启动broker server服务
1
nohup sh bin/mqbroker -c conf/broker.conf -n 10.18.23.44:9876 &
-n:参数指定name server的地址
创建topic和订阅组
1
2sh bin/mqadmin updateTopic -n localhost:9876 -b localhost:10911 -t accessTopic
sh bin/mqadmin updateSubGroup -n localhost:9876 -b localhost:10911 -g accessTopicGroup
关闭服务
关闭服务
1
sh bin/mqshutdown namesrv
关闭broker服务
1
sh bin/mqshutdown broker
控制台部署
上传文件到目标服务器
启动管理平台
1
nohup java -jar -Drocketmq.namesrv.addr=10.18.23.44:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false rocketmq-console-ng-2.0.0.jar &
控制台访问
默认用户名/密码 admin/admin ,登录后页面如下:
常用命令
创建Topic
1
sh bin/mqadmin updateTopic -n xxx:9876 -c DefaultCluster -t TopicTest1
删除topic
1
sh bin/mqadmin deleteTopic -n xxx:9876 -c DefaultCluster -t TopicTest1
查看topic信息
1
sh bin/mqadmin topicStatus -n xxxx:9876
查看所有消费组group
1
sh bin/mqadmin consumerProgress -n xxx:9876
查看指定消费组下的所有topic数据堆积情况
1
sh bin/mqadmin consumerProgress -n xxx:9876 -g ConsumerGroupName