一、环境:
二、准备
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state #确保结果为not running
下载安装包
RocketMQ:http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
三、安装RocketMQ
解压程序包
#创建rocketmq目录:
mkdir /usr/local/rocketmq
#移动安装包到rocketmq目录并解压
unzip rocketmq-all-4.2.0-bin-release.zip
#把程序包里的命令软连接到系统默认命令目录
配置环境变量
vi /etc/profile
添加如下信息
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$PATH::$ROCKETMQ_HOME/bin
配置nameserver(3台)
3台按照1~2步配置好即可
配置broker(6台)
6台按照1~2步配置好,再分别配置3组主从:
以第1组为例:
【主broker配置】
编辑/usr/local/ rocketmq/conf/2m-2s-async/broker-a.properties
#namesrvAddr默认为空必须填上不然启动报错,值为上边启动的namesrv的监听地址;如果多个nameser则用“,”隔开
namesrvAddr= 192.168.103.84:9876;192.168.103.85:9876
#broker机器名称
brokerClusterName=gamelife_broker_cluster
#broker组名称,主从关系则主从名称相同,非主从关系则名称要不同
brokerName=gamelife_broker1
#如果为master则为0,slave则为1
brokerId=0
#数据存储路径
storePathRootDir=/home/www/data/rocketmq/store
#存储日志路径
storePathCommitLog=/home/www/data/rocketmq/store/commitlog
#主从角色,主
brokerRole=ASYNC_MASTER
#主从同步方式,异步复制
flushDiskType=ASYNC_FLUSH
#自动创建topic
autoCreateTopicEnable=true
#自动创建组
autoCreateSubscriptionGroup=true
【从broker配置】
编辑/usr/local/rocketmq/conf/2m-2s-async/broker-a-s.properties
#namesrvAddr默认为空必须填上不然启动报错,值为上边启动的namesrv的监听地址;如果多个nameser则用“,”隔开
namesrvAddr= 192.168.103.84:9876;192.168.103.85:9876
#broker机器名称
brokerClusterName=gamelife_broker_cluster
#broker名称,主从关系则主从名称相同,非主从关系则名称要不同
brokerName=gamelife_broker1
#如果为master则为0,slave则为1
brokerId=1
#数据存储路径
storePathRootDir=/home/www/data/rocketmq/store
#存储日志路径
storePathCommitLog=/home/www/data/rocketmq/store/commitlog
#主从角色,从
brokerRole=SLAVE
#主从同步方式,异步复制
flushDiskType=ASYNC_FLUSH
#自动创建topic
autoCreateTopicEnable=true
#自动创建组
autoCreateSubscriptionGroup=true
四、启动RocketMQ
nohup sh mqnamesrv &
nohup sh mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a.properties &
nohup sh mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a-s.properties &
五、安装RocketMQ WEB管理服务
#创建rocketmq-console目录:
mkdir /usr/local/rocketmq-console
#将离线安装包“rocketmq-console-ng-1.0.0.jar”放到rocketmq-console目录
#--server.port为运行的这个web应用的端口,如果不设置的话默认为8080;--rocketmq.config.namesrvAddr为RocketMQ命名服务地址,如果不设置的话默认为“”
nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.103.84:9876;192.168.103.85:9876 &
启动成功后,我们就可以通过浏览器访问http://localhost:8080进入控制台界面了