【RocketMQ学习目录】
【图形化界面控管理制台】
【2主2从-同步双写-异步刷盘】
RocketMQ-环境部署-2主2从部署-同步双写-异步刷盘-详细步骤图解
1.环境准备(如图)
- CentOS7x64(至少2C2G) ; 64位JDK 1.8+ ; Maven 3.2.x ; Git ; rocketmq-4.7.1.tar.gz
点击跳转-VMware15安装Centos7
点击跳转-CentOS7-安装JDK
点击跳转-CentOS7-安装Git
点击跳转-CentOS7-安装Maven
点击获取rocketmq-4.7.1.tar.gz
- 2.服务器1台
192.168.244.131
2.修改数据存储目录(如图)
#1.上传rocketmq-4.7.1.tar.gz 并解压到 /opt/ 下
$ cd /opt/ && tar -zxvf rocketmq-4.7.1.tar.gz && mv rocketmq-4.7.1 rocketmq && rm -rf /opt/rocketmq-4.7.1.tar.gz
#2.创建数据存储目录
$ cd /opt/rocketmq && mkdir logs store store/commitlog store/consumequeue store/index
#3.替换日志存储位置
$ cd /opt/rocketmq/conf && sed -i 's#${user.home}#/opt/rocketmq#g' *.xml
- 图解
3.修改启动参数(如图)
#修改 runbroker 和 runserver 的 JVM启动参数(因为虚拟机内存不足)
#找到 JAVA_OPT="${JAVA_OPT} -server 把后面三个参数改成 1 1 1
$ vi /opt/rocketmq/bin/runbroker.sh
$ vi /opt/rocketmq/bin/runserver.sh
/opt/rocketmq/bin/runbroker.sh
/opt/rocketmq/bin/runserver.sh
4.修改配置文件(如图)
#先删除文件内的全部内容,然后复制下面的内容到里面
$ cd /opt/rocketmq/conf/2m-2s-async
$ vi broker-a.properties
#所属集群
brokerClusterName=rocketmq-cluster-1m
#nameServer地址,分号分割
namesrvAddr=192.168.244.131:9876
#Broker名,不同Master名字不同,Slave与Master通过brokerName来配对
brokerName=broker-a
#当前节点IP
brokerIP1=192.168.244.131
#ID,0表示Master,大于0表示Slave
brokerId=0
#Broker角色(SLAVE 从节点)(ASYNC_MASTER 异步复制Master)(SYNC_MASTER 同步双写Master)
brokerRole=SYNC_MASTER
#刷盘方式,ASYNC_FLUSH 异步刷盘,SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#存储路径
storePathRootDir=/opt/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq/store/abort
#Broker对外服务的监听端口
listenPort=10911
#在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#删除文件时间点,默认凌晨 4 点
deleteWhen=04
#文件保留时间,单位小时,默认48
fileReservedTime=120
#commitLog 每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
- 图解
5.启动服务(如图)
- 1.先启动 NameServer
$ nohup sh /opt/rocketmq/bin/mqnamesrv &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/namesrv.log
$ jps #出现NamesrvStartup,既是启动成功
- 2.指定 broker-a.properties 启动 broker
$ nohup sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/2m-2s-async/broker-a.properties &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/broker.log
$ jps #出现BrokerStartup,既是启动成功
6.停止服务(如图)
- 先停止Borke,jps确定Borke停止后,再停止NameServer
$ sh /opt/rocketmq/bin/mqshutdown broker
$ jps
$ sh /opt/rocketmq/bin/mqshutdown namesrv
7.清理数据(如图)
- 确定服务已经全部停止,然后删除数据目录并重新创建
$ jps
$ cd /opt/rocketmq && rm -rf store logs && mkdir logs store store/commitlog store/consumequeue store/index
撒 花 ❀❀❀❀❀❀❀❀❀❀❀❀