1. 程式人生 > >RocketMQ源碼安裝

RocketMQ源碼安裝

rocketmq源碼安裝

環境要求:

需要安裝jdk1.6以上,maven3.X以上,git

一、maven安裝

1.下載軟件:wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

2.安裝

tar xf apache-maven-3.3.9-bin.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-maven-3.3.9 maven
vi /etc/profile.d/maven.sh
export PATH=$PATH:/usr/local/maven/bin

3.驗證

技術分享

二、安裝rocketmq

1.下載軟件

git clone https://github.com/alibaba/RocketMQ.git

版本:3.5.8

2.安裝

cd RocketMQ
bash install.sh

安裝過程比較久,安裝結束後

技術分享

3.拷貝文件

安裝結束後會生成鏈接文件

devenv -> target/alibaba-rocketmq-broker/alibaba-rocketmq

技術分享

alibaba-rocketmq目錄下的文件拷貝出來即可

三、配置rocketmq

搭建雙主雙從

由於topics.json及

subscriptionGroup.json默認位置保存在用戶家目錄下,當一臺機器部署多個broker時,采用不同的用戶啟動broker以保證配置文件唯一。

nameserver:192.168.115.11

broker-a-6.0-test:192.168.115.11 master

broker-a-6.0-test:192.168.115.12 slave

broker-b-6.0-test:192.168.115.12 master

broker-b-6.0-test:192.168.115.11 slave

1.修改broker配置文件(broker-a-6.0-test為例)

master

# cd /usr/local/rocketMQ/conf/2m-2s-sync/
# cat broker-a.properties
listenPort=10911
namesrvAddr=192.168.115.11:9876
brokerIP1=192.168.115.11
brokerName=broker-a-6.0-test
brokerClusterName=fjhb6_test
brokerId=0
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=false
rejectTransactionMessage=false
fetchNamesrvAddrByAddressServer=false
diskMaxUsedSpaceRatio=95
rootDir=/data/rocketmq_data/broke-a/store
storePathRootDir=/data/rocketmq_data/broke-a/store
storePathCommitLog=/data/rocketmq_data/broke-a/commitlog
storePathConsumeQueue=/data/rocketmq_data/broke-a/consumequeue
storePathIndex=/data/rocketmq_data/broke-a/index
storeCheckpoint=/data/rocketmq_data/broke-a/checkpoint
abortFile=/data/rocketmq_data/broke-a/abort
topicConfigPath=/data/rocketmq_data/broke-a/store/config
subscriptionGroupPath=/data/rocketmq_data/broke-a/store/config
flushIntervalCommitLog=1000
flushCommitLogTimed=false
deleteWhen=04
fileReservedTime=72
maxTransferBytesOnMessageInMemory=33554432
maxTransferCountOnMessageInMemory=32
maxTransferBytesOnMessageInDisk=65536
maxTransferCountOnMessageInDisk=8
accessMessageInMemoryMaxRatio=40
messageIndexEnable=true
messageIndexSafe=false
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
cleanFileForciblyEnable=true
創建目錄
#mkdir /data/rocketmq_data/broke-a
#chown  -R mqtest.root /data/rocketmq_data/broke-a

slave

# cd /usr/local/rocketMQ/conf/2m-2s-sync/
# cat broker-a-s.properties
listenPort=30922
namesrvAddr=192.168.115.11:9876
brokerIP1=192.168.115.12
brokerName=broker-a-6.0-test
brokerClusterName=fjhb6_test
brokerId=1
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=false
rejectTransactionMessage=false
fetchNamesrvAddrByAddressServer=false
diskMaxUsedSpaceRatio=95
storePathRootDir=/data/rocketmq_data/broker-a/store
storePathCommitLog=/data/rocketmq_data/broker-a/commitlog
storePathConsumeQueue=/data/rocketmq_data/broker-a/consumequeue
storePathIndex=/data/rocketmq_data/broker-a/index
storeCheckpoint=/data/rocketmq_data/broker-a/checkpoint
abortFile=/data/rocketmq_data/broker-a/abort
topicConfigPath=/data/rocketmq_data/broker-a/store/config/topics.json
subscriptionGroupPath=/data/rocketmq_data/broker-a/store/config/subscriptionGroup.json
flushIntervalCommitLog=1000
flushCommitLogTimed=false
deleteWhen=04
fileReservedTime=72
maxTransferBytesOnMessageInMemory=33554432
maxTransferCountOnMessageInMemory=32
maxTransferBytesOnMessageInDisk=65536
maxTransferCountOnMessageInDisk=8
accessMessageInMemoryMaxRatio=40
messageIndexEnable=true
messageIndexSafe=false
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
cleanFileForciblyEnable=true
創建目錄
#mkdir /data/rocketmq_data/broker-a
#chown  -R mqtest.root /data/rocketmq_data/broker-a

broker-b-6.0-test配置類似,broker-b-6.0-test直接root用戶啟動

2.啟動服務

nameserver
# cat start_nameserver.sh
#!/bin/sh
#
HOMEDIR=/usr/local/rocketMQ
# Start nameserver
nohup sh $HOMEDIR/bin/mqnamesrv > $HOMEDIR/logs/nameserver.log  2>&1 &
echo "Start Name Server and Broker a master Successfully, ${ADDR}"
 
#bash start_nameserver.sh
broker-a
su - mqtest
# cat start_broker.sh
#!/bin/sh
#
HOMEDIR=/usr/local/rocketMQ
ADDR=192.168.115.11:9876
# Broker a master
nohup sh $HOMEDIR/bin/mqbroker -n ${ADDR} -c $HOMEDIR/conf/2m-2s-sync/broker-a.properties > $HOMEDIR/logs/broker-a.log 2>&1 &
echo "Start Name Server and Broker a master and Broker b slave Successfully, ${ADDR}"
 
bash start_broker.sh

3.登入控制臺查看

http://192.168.115.12:3000/rocket-console/cluster/list.do

技術分享

四、測試消息發送

1.創建topic

# /usr/local/rocketMQ/bin/mqadmin updateTopic -n 192.168.115.11:9876 -c fjhb6_test -t TopicTest

技術分享

2.發送消息

# export NAMESRV_ADDR=192.168.115.11:9876
# bash /usr/local/rocketMQ/bin/tools.sh com.alibaba.rocketmq.example.quickstart.Producer

技術分享

技術分享


本文出自 “linux之路” 博客,請務必保留此出處http://hnr520.blog.51cto.com/4484939/1923906

RocketMQ源碼安裝