rocket mq详细解析参考: https://www.cnblogs.com/tudachui/p/10998984.html
基础环境
2台服务器192.168.10.65、192.168.2.243
centos7
java1.8
rocketmq-4.4
版本下载地址:http://rocketmq.apache.org/dowloading/releases/ --选择二进制文件,如果选源码需要用maven构建
1、安装2主模式
#安装jdk1.8版本
yum install java-1.8.0-openjdk* -y
#解压mq包
unzip rocketmq-all-4.4.0-bin-release.zip
mv rocketmq-all-4.4.0-bin-release rocketmq4.4
1.1、修改配置文件(两个主都要修改)
cp /data/rocketmq4.4/conf/2m-noslave/broker-a.properties /data/rocketmq4.4/conf/
vim /data/rocketmq4.4/conf/broker-a.properties #注释掉原配置粘贴以下配置,选择适用自己的,另一台服务器修改下最后的ip和brokerName就行
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.10.65:9876;192.168.2.243:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq4.4/store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq4.4/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq4.4/store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq4.4/store/index
#checkpoint 文件存储路径,这个加了服务起不来,暂时没研究啥情况,直接注释掉了,也没创建(应该是一个文件,不是一个目录)
#storeCheckpoint=/data/rocketmq4.4/store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq4.4/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=192.168.10.65
创建相对应的目录
mkdir -p /data/rocketmq4.4/store/{commitlog,consumequeue,index,abort}
1.2、启动namesrv和Broker服务 #mqnamesrv和mqbroker启动文件分别调用了runserver.sh和runbroker.sh文件,可根据自身机器内存大小配置相应内存(内存不够可能会报错error='Cannot allocate memory' (errno=12))
nohup /data/rocketmq4.4/bin/mqnamesrv &
nohup /data/rocketmq4.4/bin/mqbroker -c /data/rocketmq4.4/conf/broker-a.properties & #初次启动可以先别使用nohup,方便查看问题
#关闭服务命令
/data/rocketmq4.4/bin/mqshutdown broker
/data/rocketmq4.4/bin/mqshutdown namesrv
2、部署界面rocketmq-console:
下载地址:https://github.com/apache/rocketmq-externals/tree/rocketmq-console-1.0.0
wget https://codeload.github.com/apache/rocketmq-externals/zip/refs/tags/rocketmq-console-1.0.0
unzip rocketmq-externals-rocketmq-console-1.0.0.zip
mv rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console /data/
vim /data/rocketmq-console/src/main/resources/application.properties
#监控ip端口:server.port=8080 (冲突的话可以修改)
#nameserver地址:rocketmq.config.namesrvAddr=192.168.10.65:9876;192.168.2.243:9876
#其他可以默认
使用maven打包,maven安装:https://www.jianshu.com/p/db824cd8ab6f 下面安装下maven
#包下载地址:[https://maven.apache.org/download.cgi](https://maven.apache.org/download.cgi) #apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.8.1-bin.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.8.1 /usr/local/maven
echo 'export PATH=$PATH:/usr/local/maven/bin'>> /etc/profile
source /etc/profile
mvn -v
#ok,继续打包
cd /data/rocketmq-console/
mvn clean package -Dmaven.test.skip=true
[INFO] Building jar: /data/rocketmq-console/target/rocketmq-console-ng-1.0.0-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
运行打完的包,然后在web访问
java -jar /data/rocketmq-console/target/rocketmq-console-ng-1.0.0.jar
image.png
网友评论