文章目录
集群规划
一.nameserver:
192.168.128.33:9876
192.168.128.34:9876
192.168.128.35:9876
二.broker
192.168.128.33:10911 --master
192.168.128.34:10911 --slave
192.168.128.35:10911 --slave
三.rocketmq-console控制台
192.168.128.33:8080
集群部署
一、每台机器部署
1.编译安装rocketmq
cd /usr/local/src
wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-bin-release.zip
unzip rocketmq-all-4.3.0-bin-release.zip
mv rocketmq-all-4.3.0-bin-release /usr/local/rocketmq-4.3.0
2.添加host
cat >> /etc/hosts << EOF
192.168.128.33 VM_128_33_centos
192.168.128.34 VM_128_34_centos
192.168.128.35 VM_128_35_centos
EOF
3.创建文件夹
mkdir -p /data/rocketmq/store/master
mkdir -p /data/rocketmq/store/master/commitlog
mkdir -p /data/rocketmq/store/master/consumequeue
mkdir -p /data/rocketmq/store/master/index
4.修改配置文件
cd /usr/local/rocketmq-4.3.0/conf
sed -i 's#${user.home}#/usr/local/rocketmq-4.3.0#g' *.xml
vim /usr/local/rocketmq-4.3.0/bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms3g -Xmx3g -Xmn3g"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=6g"
5.启动nameserver
source /etc/profile ##加载java_home
nohup /usr/local/rocketmq-4.3.0/bin/mqnamesrv > /data/rocketmq/store/mqnamesrv.log 2>&1 &
二、192.168.128.33-Master部署
1.修改master配置文件
vim /usr/local/rocketmq-4.3.0/conf/2m-2s-sync/broker-a.properties
brokerClusterName=USA_CloudLearn-RocketMQ-Cluster
brokerIP1=192.168.128.33
brokerName=Broker-Cloud
brokerId=0
namesrvAddr=192.168.128.33:9876;192.168.128.34:9876;192.168.128.35:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=false
listenPort=10911
deleteWhen=04
fileReservedTime=168
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=90
storePathRootDir=/data/rocketmq/store/master
storePathCommitLog=/data/rocketmq/store/master/commitlog
storePathConsumeQueue=/data/rocketmq/store/master/consumequeue
storePathIndex=/data/rocketmq/store/master/index
storeCheckpoint=/data/rocketmq/store/master/checkpoint
abortFile=/data/rocketmq/store/master/abort
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
2.启动master
nohup /usr/local/rocketmq-4.3.0/bin/mqbroker -c /usr/local/rocketmq-4.3.0/conf/2m-2s-sync/broker-a.properties > /data/rocketmq/store/broker-a.log 2>&1 &
三、192.168.128.34/35–Slave部署
1.修改slave配置文件
vim /usr/local/rocketmq-4.3.0/conf/2m-2s-sync/broker-a-s.properties
brokerClusterName=USA_CloudLearn-RocketMQ-Cluster
brokerIP1=192.168.128.34 ##本机IP地址
brokerName=Broker-Cloud
brokerId=2
namesrvAddr=192.168.128.33:9876;192.168.128.34:9876;192.168.128.35:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=false
listenPort=10911
deleteWhen=04
fileReservedTime=168
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=90
storePathRootDir=/data/rocketmq/store/master
storePathCommitLog=/data/rocketmq/store/master/commitlog
storePathConsumeQueue=/data/rocketmq/store/master/consumequeue
storePathIndex=/data/rocketmq/store/master/index
storeCheckpoint=/data/rocketmq/store/master/checkpoint
abortFile=/data/rocketmq/store/master/abort
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
sendMessageThreadPoolNums=128
useReentrantLockWhenPutMessage=true
2.启动salve
nohup /usr/local/rocketmq-4.3.0/bin/mqbroker -c /usr/local/rocketmq-4.3.0/conf/2m-2s-sync/broker-a-s.properties > /data/rocketmq/store/broker-a-s.log 2>&1 &
四、查看集群状态
sh /usr/local/rocketmq-4.3.0/bin/mqadmin clusterList -n 192.168.128.33:9876
五、rocketmq-console控制台部署
git clone https://github.com/apache/rocketmq-externals.git
ln -s /opt/rocketmq-externals /usr/local/
vim rocketmq-console/src/main/resources/application.properties ##修改配置文件
server.contextPath=
server.port=8080 #默认访问端口是8080
#spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=192.168.10.207:9876 #如果nameserver是多台集群机器,则后面就配置多个ip+port,即"rocketmq.config.namesrvAddr=ip1:port;ip2:port"
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=false #注意这个参数,是否设置为false或true取决于rocketmq的版本号
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
安装Maven
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar -zvxf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 /usr/local/maven
加入环境变量
vim /etc/profile
...
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
...
source /etc/profile
查看Maven版本
mvn --version
对rocketmq-console进行编译打包运行
cd /usr/local/rocketmq-externals/rocketmq-console/
mvn clean package -Dmaven.test.skip=true
启动
nohup java -jar /usr/local/rocketmq-externals/rocketmq-console/target/rocketmq-console-ng-1.0.1.jar --server.port=8080 --rocketmq.config.namesrvAddr='192.168.128.33:9876;192.168.128.34:9876;192.168.128.35:9876' > /data/rocketmq/store/rocketmq-console.log 2>&1 &