0一、Apache RocketMQ安裝

準備工做

一、本次安裝使用Virtual Box虛擬機進行安裝,網卡採用 僅主機(Host-Only)網絡+網絡地址轉換(NAT)方式來配置網絡java

以下圖一 僅主機Host-Only網絡 做爲網卡1(用於主機之間通訊使用)linux

 

以下圖二 網絡地址轉換NAT 做爲網卡2(用戶鏈接外網上網)git

安裝完Centos系統配置兩個網卡github

enp0s3 是網卡1  配置靜態ip,用於鏈接ssh,以及安裝服務的ip;apache

enp0s8 是網卡2 採用dhcp獲取ip 用於上網瀏覽器

接下來是安裝jdkbash

從外部上傳 jdk和rocketmq安裝包到/usr/local/src目錄,以下圖所示服務器

 

簡單描述一下安裝jdk網絡

一、執行命令:mkdir /usr/local/java && tar -zxvf /usr/local/src/jdk-8u162-linux-x64.tar.gz -C /usr/local/javaapp

二、編輯/etc/profile

vi /etc/profile

在文件末尾添加以下配置

export JAVA_HOME=/usr/local/java/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

三、執行 source /etc/profile

四、驗證jdk  java -version

開始安裝rocketmq

一、配置ip 與broker和nameserver的對應關係

vi /etc/hosts  

加入以下配置: ip是你本機配置的靜態ip,根據實際狀況來配置便可

保存退出

執行 mkdir /usr/local/apache-rocketmq && tar -zxvf /usr/local/src/apache-rocketmq.tar.gz -C /usr/local/apache-rocketmq

執行 cd /usr/local && ln -s apache-rocketmq rocketmq

建立儲存路徑

mkdir /usr/local/rocketmq/store

mkdir /usr/local/rocketmq/store/commitlog

mkdir /usr/local/rocketmq/store/consumequeue

mkdir /usr/local/rocketmq/store/index

RocketMQ配置文件修改 這裏配置雙主雙從,因此選擇 conf/2m-2s-async/broker-a.properties

 

#所屬集羣名字 
brokerClusterName=rocketmq-cluster 

brokerIP1=192.168.100.101

#broker名字,注意此處不一樣的配置文件填寫的不同
brokerName=broker-a

#0 表示 Master,>0 表示 Slave 
brokerId=0 

#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876

#在發送消息時,自動建立服務器不存在的topic,默認建立的隊列數
defaultTopicQueueNums=4

#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=true

#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=true

#Broker 對外服務的監聽端口
listenPort=10911

#刪除文件時間點,默認凌晨 4點
deleteWhen=04

#文件保留時間,默認 48 小時
fileReservedTime=120

#commitLog每一個文件的大小默認1G
mapedFileSizeCommitLog=1073741824

#ConsumeQueue每一個文件默認存30W條,根據業務狀況調整
mapedFileSizeConsumeQueue=300000

#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000

#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/usr/local/rocketmq/store

#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog

#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue

#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store/index

#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint

#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store/abort

#限制的消息大小
maxMessageSize=65536

#flushCommitLogLeastPages=4 
#flushConsumeQueueLeastPages=2 
#flushCommitLogThoroughInterval=10000 
#flushConsumeQueueThoroughInterval=60000

#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=ASYNC_MASTER

#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH

#checkTransactionMessageEnable=false

#發消息線程池數量
#sendMessageThreadPoolNums=128

#拉消息線程池數量
#pullMessageThreadPoolNums=128

修改日誌配置文件

mkdir -p /usr/local/rocketmq/logs

cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml

 

修改啓動腳本參數

vi /usr/local/rocketmq/bin/runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m XX:PermSize=128m -XX:MaxPermSize=320m"

vi /usr/local/rocketmq/bin/runserver.sh

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m XX:PermSize=128m -XX:MaxPermSize=320m"

 

啓動NameServer

cd /usr/local/rocketmq/bin

nohup sh mqnamesrv &

啓動BrokerServer

cd /usr/local/rocketmq/bin

nohup sh mqbroker -n 192.168.100.101:9876 -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &

執行jps查看

安裝rocketmq-console

下載地址:https://github.com/apache/rocketmq-externals.git

導入rocketmq-console項目

而後修改application.properties文件

啓動項目 瀏覽器訪問 http://localhost:8080

 

 

 

能夠編寫一個啓動腳本 start-roketmq.sh,內容以下:

#啓動namesrv
nohup sh /usr/local/rocketmq/bin/mqnamesrv &
#啓動broker
nohup sh /usr/local/rocketmq/bin/mqbroker -n 192.168.100.101:9876 -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &

關閉服務能夠執行如下命令

sh /usr/local/rocketmq/bin/mqshutdown namesrv

sh /usr/local/rocketmq/bin/mqshutdown broker

相關文章
相關標籤/搜索