一、本次安裝使用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
一、配置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