ROCKETMQ

1、RocketMQ安装

          下载地址:http://rocketmq.apache.org/dowloading/releases/

2、上传linux服务器并解压

2.1 启动rocketmq

2.1.1启动nameserver

a.启动nameserver

nohup sh /usr/soft/rocketmq-all-4.8.0-bin-release/bin/mqnamesrv &

 b.查看日志

tail -f ~/logs/rocketmqlogs/namesrv.log

2.1.2启动Broker

a.启动Broker

nohup sh /usr/soft/rocketmq-all-4.8.0-bin-release/bin/mqbroker -n localhost:9876 &

b.查看日志

tail -f ~/logs/rocketmqlogs/broker.log

2.2关闭rocketmq

2.2.1关闭nameserver

sh /usr/soft/rocketmq-all-4.8.0-bin-release/bin/mqshutdown namesrv

2.2.1关闭Broker

sh /usr/soft/rocketmq-all-4.8.0-bin-release/bin/mqshutdown broker

问题描述:
        RockerMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个文件,修改jvm内存大小
            vi runbroker.sh            
            JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
            vi runserver.sh

2.3 jps命令查看进程  是否启动关闭正常

3、rocketmq 集群

3.1集群分类

  • 多master
  • 多master多slave 同步
  • 多master多slave 异步

4、集群部署

4.1准备两套rocketmq环境

4.2配置host信息

vi /etc/host

#nameserver
192.168.0.102	rocketmq-nameserver1
192.168.0.103	rocketmq-nameserver2
#broker
192.168.0.102	rocketmq-master1
192.168.0.102	rocketmq-slave2
192.168.0.103	rocketmq-master2
192.168.0.103	rocketmq-slave1

4.3配置完成后重启网卡

systemctl restart network

4.4打开网络访问权限

4.4.1关闭防火墙

关闭防火墙
systemctl stop firewalld.service
查看防火墙状态
firewall-cmd --state
禁止firewalld开机启动
systemctl disable firewalld.service

4.4.2开发特定的端口

RocketMQ默认使用3个端口,9876、10911、11011

nameserver默认使用 9876

master默认使用 10911

slave默认使用 11011

执行以下命令
#开放name server端口
firewall-cmd --remove-port=9876/tcp --permanent
#开放master端口
firewall-cmd --remove-port=10911/tcp --permanent
#开放slave端口
firewall-cmd --remove-port=11011/tcp --permanent
#重启防火墙
firewall-cmd --reload

4.5配置环境变量信息

vi /etc/profile

在profile文件未追加如下信息

#set rocketmq
ROCKETMQ_HOME=/usr/soft/rocketmq-all-4.8.0-bin-release
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH
保存退出,并使得配置立即生效:
source /etc/profile

4.6配置消息存放路径

mkdir /usr/soft/rocketmq/store
mkdir /usr/soft/rocketmq/store/commitlog
mkdir /usr/soft/rocketmq/store/consumequeue
mkdir /usr/soft/rocketmq/store/index

4.7broker配置文件(双主双从 同步)

rocketmq-master1  主broker   broker-a.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-a
#集群中 0 表示 Master,>0 表示 Slave
brokerId=0
brokerRole=SYNC_MASTER
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH

#指定broker的IP
#brokerIP1=192.168.8.113
#nameServer地址,集群用分号分割
namesrvAddr=rocketmq-master1:9876;rocketmq-master2: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/soft/rocketmq/store

#commitLog 存储路径
storePathCommitLog=/usr/soft/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/soft/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/soft/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/soft/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/soft/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000

#checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessaeThreadPoolNums=128

#发送消息是否使用可重入锁
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=300  #或者更大

rocketmq-master1  从broker   broker-b-s.properties

brokerClusterName=rocketmq-cluster
brokerName=broker-b
#集群中 0 表示 Master,>0 表示 Slave
brokerId=1
brokerRole=SLAVE
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

#指定broker的IP
#brokerIP1=192.168.8.113
#nameServer地址,集群用分号分割
namesrvAddr=rocketmq-master1:9876;rocketmq-master2:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值