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及
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源碼安裝