rocketMQ 集群安装
集群配置
主机 id | 主机名 |
---|
192.168.154.4 | master1(nameserver1) |
192.168.154.5 | master1-slave1(nameserver2) |
192.168.154.6 | master2(nameserver3) |
192.168.154.7 | master2-slave1(nameserver3) |
根据以上内容修改 hosts 文件
vim /etc/hosts
192.168.154.4 nameserver1
192.168.154.4 master1
192.168.154.5 nameserver2
192.168.154.5 master1-slave1
192.168.154.6 nameserver3
192.168.154.6 master2
192.168.154.7 nameserver4
192.168.154.7 master2-slave1
安装步骤
1. 下载相关软件并配置相关目录
mkdir /opt/rocketmq
cd /opt/rocketmq && wgt https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip
unzip rocketmq-all-4.0.0-incubating-bin-release.zip
mv apache-rocketmq-all/ /app/rocketmq4.0.0
mkdir -p /opt/rocketmq/rocketmq4.0.0/store/commitlog
mkdir -p /opt/rocketmq/rocketmq4.0.0/store/consumequeue
mkdir -p /opt/rocketmq/rocketmq4.0.0/store/index
2. 修改相关的配置文件
vim /opt/rocketmq/rocketmq4.0.0/conf/2m-2s-async/broker-a.properties
-------------------------------------------------------------------
brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=0
namesrvAddr=nameserver1:9876;nameserver2:9876;nameserver3:9876;nameserver4:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
haListenPort=10912
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/rocketmq/rocketmq4.0.0/store
storePathCommitLog=/opt/rocketmq/rocketmq4.0.0/store/commitlog
storePathConsumeQueue=/opt/rocketmq/rocketmq4.0.0/store/consumequeue
storePathIndex=/opt/rocketmq/rocketmq4.0.0/store/index
storeCheckpoint=/opt/rocketmq/rocketmq4.0.0/store/checkpoint
abortFile=/opt/rocketmq/rocketmq4.0.0/store/abort
maxMessageSize=65536
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.154.4
cat /opt/rocketmq/rocketmq4.0.0/conf/2m-2s-async/broker-a-s.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=1
namesrvAddr=nameserver1:9876;nameserver2:9876;nameserver3:9876;nameserver4:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
haListenPort=10912
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/rocketmq/rocketmq4.0.0/store
storePathCommitLog=/opt/rocketmq/rocketmq4.0.0/store/commitlog
storePathConsumeQueue=/opt/rocketmq/rocketmq4.0.0/store/consumequeue
storePathIndex=/opt/rocketmq/rocketmq4.0.0/store/index
storeCheckpoint=/opt/rocketmq/rocketmq4.0.0/store/checkpoint
abortFile=/opt/rocketmq/rocketmq4.0.0/store/abort
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.154.5
cat /opt/rocketmq/rocketmq4.0.0/conf/2m-2s-async/broker-b.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=0
namesrvAddr=nameserver1:9876;nameserver2:9876;nameserver3:9876;nameserver4:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
haListenPort=10912
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/rocketmq/rocketmq4.0.0/store
storePathCommitLog=/opt/rocketmq/rocketmq4.0.0/store/commitlog
storePathConsumeQueue=/opt/rocketmq/rocketmq4.0.0/store/consumequeue
storePathIndex=/opt/rocketmq/rocketmq4.0.0/store/index
storeCheckpoint=/opt/rocketmq/rocketmq4.0.0/store/checkpoint
abortFile=/opt/rocketmq/rocketmq4.0.0/store/abort
maxMessageSize=65536
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.154.6
cat /opt/rocketmq/rocketmq4.0.0/conf/2m-2s-async/broker-b-s.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=1
namesrvAddr=nameserver1:9876;nameserver2:9876;nameserver3:9876;nameserver4:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
haListenPort=10912
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/rocketmq/rocketmq4.0.0/store
storePathCommitLog=/opt/rocketmq/rocketmq4.0.0/store/commitlog
storePathConsumeQueue=/opt/rocketmq/rocketmq4.0.0/store/consumequeue
storePathIndex=/opt/rocketmq/rocketmq4.0.0/store/index
storeCheckpoint=/opt/rocketmq/rocketmq4.0.0/store/checkpoint
abortFile=/opt/rocketmq/rocketmq4.0.0/store/abort
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.54.7
3. 修改日志路径(安装时报错)
cp /opt/rocketmq/rocketmq4.0.0/conf/log* /opt/rocketmq/
4. java内存的调整
vim /opt/rocketmq/rocketmq4.0.0/bin/runserver.sh
------------------------------------------------------------------------------------------
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim /opt/rocketmq/rocketmq4.0.0/bin/runbroker.sh
------------------------------------------------------------------------------------------
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512 -Xmn256m"
5. 安装 jdk
cd /usr/local/src/ && wget https://download.oracle.com/otn/java/jdk/8u333-b02/2dee051a5d0647d5be72a7c0abff270e/jdk-8u333-linux-x64.tar.gz?AuthParam=1655868992_9b06758eacacb24105a5aa25902c4f80
tar -zxvf jdk-8u333-linux-x64.tar.gz
vim /etc/profile
------------------------------------
export JAVA_HOME=/usr/local/src/jdk1.8.0_333
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=/usr/local/src/jdk1.8.0_333
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
-------------------------------------------
source /etc/profile
java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
6. 启动服务
### 四个都做
nohup sh /opt/rocketmq/rocketmq4.0.0/bin/mqnamesrv > /opt/rocketmq/rocketmq4.0.0/mqnameserv.log 2>&1 &
cat /opt/rocketmq/rocketmq4.0.0/mqnameserv.log # 有 success 输出,并且 9876 端口监听
nohup sh /opt/rocketmq/rocketmq4.0.0/bin/mqbroker -c /opt/rocketmq/rocketmq4.0.0/conf/2m-2s-async/broker-a.properties > /opt/rocketmq/rocketmq4.0.0/logs/broker-a-m.log 2>&1 &
cat /opt/rocketmq/rocketmq4.0.0/logs/broker-a-m.log # 没有错误提示,并且 10909,10911,10912 端口监听
7. 验证服务
### 四个都做
## 设置名称服务地址
export NAMESRV_ADDR=localhost:9876
## 投递消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
## 消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
8. 停止服务
cd /opt/rocketmq/rocketmq4.0.0/bin
sh mqshutdown namesrv
sh mqshutdown broker