RocketMQ下载地址:https://rocketmq.apache.org/release_notes/release-notes-4.2.0/
-
服务器环境
IP地址 模式 环境 192.168.0.185 master Java1.8开发环境 192.168.0.186 master Java1.8开发环境 -
配置RocketMQ环境
#进入安装目录 cd /usr/local/src/ #获取rocketMQ wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip #解压rocketMQ.zip文件 unzip rocketmq-all-4.2.0-bin-release.zip -d rocketmq #修改rocketMQ配置文件 vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties(192.168.0.185) vim /usr/local/rocketmq/conf/2m-noslave/broker-b.properties(192.168.0.186) #所属集群名字 borkerClusterName=rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a //192.168.0.185为broker-a,192.168.0.186为broker-b #0 表示Master, >0 表示Slave brokerId=0 #nameServer地址,分号分割 namesrvAddr=192.168.0.185:9876;192.168.0.186:9876 #在发消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许Broker自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许Broker自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=10911 #删除文件时间点,默认凌晨4点 deleteWhen=04 #文件保留时间,默认48小时 fileReservedTime=120 #commitLog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/src/rocketmq/store #commitLog存储路径 storePathCommitLog=/usr/local/src/rocketmq/store/commitlog #消费队列存储路径 storePathConsumeQueue=/usr/local/src/rocketmq/store/consumequeue #消息索引存储路径 storePathIndex=/usr/local/src/rocketmq/store/index #checkpoint 文件存储路径 storeCheckPoint=/usr/local/src/rocketmq/store/checkpoint #abort 文件存储路径 abortFile=/usr/local/src/rocketmq/store/abort #限制的消息大小 maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=ASYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=ASYNC_FLUSH checkTransactionMessageEnable=false #发消息线程池数量 sendMessageThreadPoolNums=128 #拉消息线程池数量 pullMessageThreadPoolNums=128
-
修改两台服务器的rocketMQ日志配置文件
mkdir -p /usr/local/src/rocketmq/logs cd /usr/local/src/rocketmq/conf && sed -i 's#${user.home}#/usr/local/src/rocketmq#g' *.xml
-
修改两台服务器RocketMQ启动脚本参数(主要配置JVM参数根据自己服务器内存大小进行分配)
vim /usr/local/src/rocketmq/bin/runserver.sh vim /usr/local/src/rocketmq/bin/runbroker.sh #分别设置JVM(-Xmx)最大可用内存为服务器的内存,设置JVM促使内存(-Xms)为服务器的内存,设置JVM年轻代(-Xmn)为服务器内存的一半即可
ps:JVM调优设置参考:https://www.cnblogs.com/lcword/p/5857918.html
-
关闭两台服务器防火墙或者开放端口
#关闭防火墙 systemctl stop firewalld #或者开放端口 firewall-cmd --zone=public --add-port=9876/tcp --permanent
-
启动两台服务器的NameServer
#进入rocketmq目录 cd /usr/local/src/rocketmq/bin #启动nameserver服务 nohup sh mqnamesrv &
-
启动192.168.0.185BrokerServer
nohup sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
-
启动192.168.0.186的BrokerServer
nohup sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
-
检查nameserver和brokerserver状态
#显示当前所有Java进程 jps #106688 NamesrvStartup #107028 Jps #106730 BrokerStartup #查看日志信息 tail -f -n /usr/local/src/rocketmq/logs/rocketmqlogs/broker.log tail -f -n /usr/local/src/rocketmq/logs/rocketmqlogs/namesrv.log
-
关闭broker服务和nameserver服务
#关闭broker服务 sh /usr/local/src/rocketmq/bin/mqshutdown broker #关闭nameserver服务 sh /usr/local/src/rocketmq/bin/mqshutdown namesrv
RocketMQ-双master环境搭建
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- ---------------------------------------------------------...
- RocketMQ相关文件及配置信息, 链接:https://pan.baidu.com/s/1kV019l1密码:...
- 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...