rocket高可用集群

rocket高可用集群

示例是在统一台电脑上已不同端口号启动的伪集群

部署方案

2nameSvr

1master broker + 2slave broker

安装rocketmq

> yum install -y unzip zip
> cd /usr/local

> wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip

> unzip rocketmq-all-4.7.0-bin-release.zip

> mv rocketmq-all-4.7.0-bin-release rocketmq-all-4.7.0

> cd rocketmq-all-4.7.0

修改环境变量

> vim /etc/profile

在文件最后插入

ROCKETMQ_HOME=/usr/local/rocketmq-all-4.7.0
export PATH=${ROCKETMQ_HOME}/bin:${PATH}

刷新配置

> source /etc/profile

新建/usr/local/rocketmq-4.7.0/logs目录,用来存放日志

/usr/local/rocketmq-4.7.0/logs

启动nameSvr

启动2台nameSvr,端口分别为5432、5433

新建myconfig目录用来存放配置文件

> mkdir /usr/local/rocketmq-4.7.0/myconfig

在myconfig目录下创建namesrv1.properties和namesrv2.properties
并在配置文件中指定端口
namesrv1.properties

listenPort=5432

namesrv1.properties

listenPort=5433

rockermq默认启动jvm进行占用2GB内存,因为是测试环境所以要先修改一下
修改/usr/local/rocketmq-4.7.0/bin/runserver.sh文件中的JVM参数

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=320m"

启动

> nohup /usr/local/rocketmq-4.7.0/bin/mqnamesrv -c /usr/local/rocketmq-4.7.0/myconfig/namesrv1.properties > /usr/local/rocketmq-4.7.0/logs/namesvr1.log 2>&1 &

> nohup /usr/local/rocketmq-4.7.0/bin/mqnamesrv -c /usr/local/rocketmq-4.7.0/myconfig/namesrv2.properties > /usr/local/rocketmq-4.7.0/logs/namesvr2.log 2>&1 &

查看端口号和log日志检查是否启动成功

> netstat -tln

启动borker

在myconfig目录下创建borker配置文件

broker-a.properties(主borker)

#外网IP地址
brokerIP1=xxxxxxx
listenPort=10919
#nameServer地址
namesrvAddr=localhost:5432;localhost:5433
#集群名称
brokerClusterName=DefaultCluster
#borker名称,主从borker要一致
brokerName=broker-a
# 0代表该borker为master
brokerId=0
# 何时触发删除文件,默认凌晨4点删除文件 
deleteWhen=04
# 文件保留时间(单位小时)
fileReservedTime=48
# 主从borker间数据同步的方式 ASYNC_MASTER(异步)、SYNC_MASTER(同步)、SLAVE(从)
brokerRole=SYNC_MASTER
# 消息写入磁盘的方式 ASYNC_FLUSH(异步刷盘)、SYNC_FLUSH(同步刷盘)
flushDiskType=ASYNC_FLUSH

# 因为要在一台电脑启动多个broker所以要为不同的broker配置不同的文件地址
storePathRootDir = /usr/local/rocketmq-4.7.0/store/borker-a
storePathCommitLog = /usr/local/rocketmq-4.7.0/store/borker-a/commitlog
storePathConsumeQueue = /usr/local/rocketmq-4.7.0/store/borker-a/consumequeue
storePathIndex = /usr/local/rocketmq-4.7.0/store/borker-a/index
storeCheckpoint = /usr/local/rocketmq-4.7.0/store/borker-a/checkpoint
abortFile = /usr/local/rocketmq-4.7.0/store/borker-a/abort
autoCreateTopicEnable = true

broker-a-s.properties(从broker)

#外网IP地址
brokerIP1=xxxxxxx
listenPort=10918
#nameServer地址
namesrvAddr=localhost:5432;localhost:5433
#集群名称
brokerClusterName=DefaultCluster
#borker名称,主从borker要一致
brokerName=broker-a
# 0代表该borker为master
brokerId=1
# 何时触发删除文件,默认凌晨4点删除文件 
deleteWhen=04
# 文件保留时间(单位小时)
fileReservedTime=48
# 主从borker间数据同步的方式 ASYNC_MASTER(异步)、SYNC_MASTER(同步)、SLAVE(从)
brokerRole=SLAVE
# 消息写入磁盘的方式 ASYNC_FLUSH(异步刷盘)、SYNC_FLUSH(同步刷盘)
flushDiskType=ASYNC_FLUSH

# 因为要在一台电脑启动多个broker所以要为不同的broker配置不同的文件地址
storePathRootDir = /usr/local/rocketmq-4.7.0/store/borker-a-s
storePathCommitLog = /usr/local/rocketmq-4.7.0/store/borker-a-s/commitlog
storePathConsumeQueue = /usr/local/rocketmq-4.7.0/store/borker-a-s/consumequeue
storePathIndex = /usr/local/rocketmq-4.7.0/store/borker-a-s/index
storeCheckpoint = /usr/local/rocketmq-4.7.0/store/borker-a-s/checkpoint
abortFile = /usr/local/rocketmq-4.7.0/store/borker-a-s/abort
autoCreateTopicEnable = true

borker启动默认分配8G内存,因为是测试环境所以先修改/usr/local/rocketmq-4.7.0/bin/runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

启动

> nohup /usr/local/rocketmq-4.7.0/bin/mqbroker -c /usr/local/rocketmq-4.7.0/myconfig/broker-a.properties > /usr/local/rocketmq-4.7.0/logs/broker-a.log 2>&1 &

> nohup /usr/local/rocketmq-4.7.0/bin/mqbroker -c /usr/local/rocketmq-4.7.0/myconfig/broker-a-s.properties > /usr/local/rocketmq-4.7.0/logs/broker-a-s.log 2>&1 &

防火墙开放以下端口
nameSrv:5432 5433

broker启动时除了会占用配置文件中的listenPort,还会占用相邻的几个端口
broker:10917-10919 10817-10819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值