一、机器规划
第一台机器 192.168.20.101
#端口规划:
9876 NameServer1
10910 BrokerA-master
10921 BrokerB-slave
第二台机器 192.168.20.102
#端口规划:
9876 NameServer2
10920 BrokerB-master
10911 BrokerA-slave
二、安装配置
#2m-2s-async(2主2从异步)
#下载安装二进制包,2台机器都安装
cd /opt
wget https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
1、现在需要修改两台机器上2m-2s-async这个目录中的文件。在机器上192.168.20.101修改
cd /opt/rocketmq/conf/2m-2s-async/
vim broker-a.properties
##修改集群名字
brokerClusterName=qmyx_cluster
brokerId=0
##原有配置下新增这些
#Broker 对外服务的监听端口
listenPort=10910
brokerIP1=192.168.20.101
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#nameServer地址,分号分割
namesrvAddr=192.168.20.101:9876;192.168.20.102:9876
#存储路径
storePathRootDir=/opt/rocketmq/store/broker-a
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq/store/broker-a/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq/store/broker-a/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq/store/broker-a/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq/store/abort
2、##修改broker-b-s.properties 在机器上192.168.20.101修改broker-b-s.properties brokerId=0 ,0代表master节点,大于0是从节点
vim broker-b-s.properties
##修改集群名字
brokerClusterName=qmyx_cluster
brokerId=1
##原有配置下新增这些
#Broker 对外服务的监听端口
listenPort=10921
brokerIP1=192.168.20.101
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#nameServer地址,分号分割
namesrvAddr=192.168.20.101:9876;192.168.20.102:9876
#存储路径
storePathRootDir=/opt/rocketmq/store/broker-b-s
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq/store/broker-b-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq/store/broker-b-s/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq/store/broker-b-s/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq/store/abort
3、##在机器上192.168.20.102修改broker-b.properties
vim broker-b.properties
#需要修改的地方
brokerId=0 #0代表master节点,大于0是从节点
brokerClusterName=qmyx_cluster
##原有配置下新增这些
#Broker 对外服务的监听端口
listenPort=10920
brokerIP1=192.168.20.102
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#nameServer地址,分号分割
namesrvAddr=192.168.20.101:9876;192.168.20.102:9876
#存储路径
storePathRootDir=/opt/rocketmq/store/broker-b
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq/store/broker-b/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq/store/broker-b/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq/store/broker-b/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq/store/abort
4、##在机器上192.168.20.102修改broker-a-s.properties
vim broker-a-s.properties
#需要修改的地方
brokerClusterName=qmyx_cluster
brokerId=1 #0代表master节点,大于0是从节点
##原有配置下新增这些
#Broker 对外服务的监听端口
brokerIP1=192.168.20.102
listenPort=10911
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#nameServer地址,分号分割
namesrvAddr=192.168.20.101:9876;192.168.20.102:9876
#存储路径
storePathRootDir=/opt/rocketmq/store/broker-a-s
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq/store/broker-a-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq/store/broker-a-s/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq/store/broker-a-s/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq/store/abort
5、创建目录
#创建数据目录 (在第一台机器上 192.168.20.101)
mkdir /opt/rocketmq/logs
mkdir -p /opt/rocketmq/store/broker-a/{consumequeue,commitlog,index}
mkdir -p /opt/rocketmq/store/broker-b-s/{consumequeue,commitlog,index}
#创建数据目录 (在第二台机器上 192.168.20.102)
mkdir /opt/rocketmq/logs
mkdir -p /opt/rocketmq/store/broker-b/{consumequeue,commitlog,index}
mkdir -p /opt/rocketmq/store/broker-a-s/{consumequeue,commitlog,index}
6、启动和停止服务
##启动两台机器上面的NameServer 端口9876
nohup /opt/rocketmq/bin/mqnamesrv >/opt/rocketmq/logs/mqnamesrv.log 2>&1 &
##启动101上的a主
cd /opt/rocketmq
nohup $PWD/bin/mqbroker -c $PWD/conf/2m-2s-async/broker-a.properties > $PWD/logs/broker-a.log 2>&1 &
##启动102上的a从
cd /opt/rocketmq
nohup $PWD/bin/mqbroker -c $PWD/conf/2m-2s-async/broker-a-s.properties > $PWD/logs/broker-a-s.log 2>&1 &
##启动102上的b主
cd /opt/rocketmq
nohup $PWD/bin/mqbroker -c $PWD/conf/2m-2s-async/broker-b.properties > $PWD/logs/broker-b.log 2>&1 &
##启动101上的b从
cd /opt/rocketmq
nohup $PWD/bin/mqbroker -c $PWD/conf/2m-2s-async/broker-b-s.properties > $PWD/logs/broker-b-s.log 2>&1 &
##停止服务--多停止几次
/opt/rocketmq/bin/mqshutdown broker
/opt/rocketmq/bin/mqshutdown namesrv
7、##rocketmq控制台安装
1、先安装jdk8和maven3.x编译环境
2、下载源码包进行编译安装
wget https://gitcode.net/mirrors/apache/rocketmq-dashboard/-/archive/rocketmq-dashboard-1.0.0/rocketmq-dashboard-rocketmq-dashboard-1.0.0.zip
unzip rocketmq-dashboard-rocketmq-dashboard-1.0.0.zip
cd rocketmq-dashboard-rocketmq-dashboard-1.0.0/
#修改端口和namesrv的地址
vim src/main/resources/application.properties
#编译完成并启动jar包;ip:port进行web访问控制台
mvn clean package -Dmaven.test.skip=true
nohup java -jar rocketmq-dashboard-1.0.0.jar &