安装
下载最新版本,传送门:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip
1.配置环境变量 — vi /etc/profile
export ROCKETMQ_HOME=/xxx/xxx/rocketmq-version
export PATH=¥PATH::$ROCKETMQ_HOME/bin
2.修改启动文件 — /bin/runbroker.sh /bin/runserver.sh 的jvm参数
JAVA_OPT="${JAVA_OPT} -server –Xms512m -Xmx1g -Xmn512m"
3.修改配置文件
/2m-2s-async #二主二从异步配置
/broker-a.properties
/broker-a-s.properties
/broker-b.properties
/broker-b-s.properties
/2m-2s-sync #二主二从同步配置
/broker-a.properties
/broker-a-s.properties
/broker-b.properties
/broker-b-s.properties
/2m-noslave #二主配置
/broker-a.properties
/broker-b.properties
#master
brokerClusterName=hoopopo-rocketmq-cluster #整个broker集群的名字,创建topic时需要指定
brokerName=broker-a #作用为一组master与slave通过brokerName是否相同来标示,通过brokerId来区分master还是slave
brokerId=0 #0:master, 非0:slave
namesrvAddr=10.2.98.248:9876;10.2.98.249:9876 #namesrv的ip地址。格式:ip:port;ip:port
defaultTopicQueueNums=4 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
autoCreateTopicEnable=true #是否自动创建topic
autoCreateSubscriptionGroup=true #是否允许Broker自动创建订阅组,建议线下开启,线上关闭
listenPort=10911 #broker的服务端口号,作为对producer和consumer使用服务的端口号
deleteWhen=04 #删除文件时间点,默认凌晨 4点
fileReservedTime=120 #文件保留时间,默认72小时
mapedFileSizeCommitLog=1073741824 #commitLog每个文件的大小,默认1G
mapedFileSizeConsumeQueue=300000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88
storePathRootDir=/software/rocketmq-all-4.3.2-bin-release/data/store #基本的存储路径
storePathCommitLog=/software/rocketmq-all-4.3.2-bin-release/data/store/commitlog #commitlog存储路径
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
brokerRole=MASTER #broker的角色 ASYNC_MASTER — 异步master;SYNC_MASTER — 同步master;SLAVE — slave
flushDiskType=ASYNC_FLUSH #刷盘方式 ASYNC_FLUSH — 异步刷盘;SYNC_FLUSH — 同步刷盘
#slave
brokerClusterName=hoopopo-rocketmq-cluster
brokerName=broker-a
brokerId=1
namesrvAddr=10.2.98.248:9876;10.2.98.249:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88
storePathRootDir=/usr/local/rocketmq/data/store
storePathCommitLog=/usr/local/rocketmq/data/store/commitlog
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
4.创建存储,日志文件
mkdir /usr/local/rocketmq/data
mkdir /usr/local/rocketmq/data/store/commitlog
mkdir /usr/local/rocketmq/data/store/consumequeue
mkdir /usr/local/rocketmq/data/store/index
5.修改日志配置文件 — logback.*.xml配置文件中的${user.home}替换成自己指定的目录
mkdir -p /usr/local/rocketmq/logs
cd /root/svr/rocketmq/conf && sed -i 's#${user.home}#/root/svr/rocketmq#g’ *.xml
6.启动服务
cd /usr/local/rocketmq/bin
nohup sh mqnamesrv & #启动namesrv
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties #启动master
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a-s.properties #启动slave
7.查看服务启动成功
jps #查看java应用
sh mqadmin clusterlist -n 10.2.98.248:9876 #查看集群状态
8.关闭服务
sh mqshutdown broker
sh mqshutdown namesrv