linux单机部署rocketmq集群

软件包下载

https://archive.apache.org/dist/rocketmq/4.6.1/

注意:安装rocketmq前,先确认是否安装了jdk,rocketmq依赖jdk8以上

解压

unzip rocketmq-all-4.6.1-bin-release.zip

创建存储message持久化目录,给每个broker指定持久化路径

mkdir -p /data/rocketmqStore/a-m
mkdir -p /data/rocketmqStore/a-s
mkdir -p /data/rocketmqStore/b-m
mkdir -p /data/rocketmqStore/b-s

集群配置文件说明

[root@rocketmq conf]# ll /usr/local/rocketmq/conf/
总用量 36
drwxr-xr-x. 2 root root   118 3月   9 13:58 2m-2s-async   ##2主2从不实时同步配置文件
drwxr-xr-x. 2 root root   118 3月   9 14:38 2m-2s-sync   ##2主2从实时同步
drwxr-xr-x. 2 root root    91 11月 28 20:47 2m-noslave    ##2主0从
-rw-r--r--. 1 root root   949 1月   6 16:43 broker.conf     ##只起单个broker的配置文件
drwxr-xr-x. 2 root root    72 11月 28 20:47 dledger
-rw-r--r--. 1 root root 14978 11月 28 20:47 logback_broker.xml
-rw-r--r--. 1 root root  3836 11月 28 20:47 logback_namesrv.xml
-rw-r--r--. 1 root root  3761 11月 28 20:47 logback_tools.xml
-rw-r--r--. 1 root root  1305 11月 28 20:47 plain_acl.yml
-rw-r--r--. 1 root root   834 11月 28 20:47 tools.yml

配置2主2从

cd /usr/local/rocketmq/conf/
vim 2m-2s-sync/broker-a.properties

#broker-a主节点
brokerIP1=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
storePathRootDir=/data/rocketmqStore/a-m
namesrvAddr=localhost:9876

#broker-a从节点
brokerIP2=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=10811
storePathRootDir=/data/rocketmqStore/a-s
namesrvAddr=localhost:9876

#broker-b主节点
brokerIP3=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10711
storePathRootDir=/data/rocketmqStore/b-m
namesrvAddr=localhost:9876

#broker-b从节点
brokerIP4=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=10611
storePathRootDir=/data/rocketmqStore/b-s
namesrvAddr=localhost:9876

启动namesrv、broker前修改bin/runserver.sh、bin/runbroker.sh

修改java内存大小,默认为4G,由于服务器只是4c8g,内存不太够无法分配那么多

vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=128m"

启动mqnamesrv

cd /usr/local/rocketmq/bin

nohup mqnamesrv &

声明namesrver、rocketmq环境变量

export ROCKETMQ_HOME=/usr/local/rocketmq
export NAMESRV_ADDR='localhost:9876'

PATH=$PATH:$JAVA_HOME/bin:$ROCKETMQ_HOME/bin
export PATH

启动4个broker,使用-c指定启动配置文件

nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &

生产者和消费者测试

tools.sh org.apache.rocketmq.example.quickstart.Producer
tools.sh org.apache.rocketmq.example.quickstart.Consumer

rocketmq-console安装

git下载rocketmq-console源码
cd rocketmq-console

#修改配置文件
rocketmq.config.namesrvAddr=localhost:9876

#打包
mvn clean package -Dmaven.test.skip=true

上传服务器并启动rocketmq-console

nohup java -jar rocketmq-console-ng-1.0.0.jar

启动成功后,外网ip:8080访问即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值