棋牌游戲網(wǎng)站怎么做的seo與sem的區(qū)別
本文主要記錄生產(chǎn)環(huán)境短暫停機(jī)升級(jí)RocketMQ版本的過(guò)程
一、整體思路
????????1.將生產(chǎn)環(huán)境MQ4.9.2集群同步到測(cè)試環(huán)境,并啟動(dòng),確保正常運(yùn)行。
? ? ? ? 2.參照4.9.2配置4.9.6集群
? ? ? ? 3.停掉4.9.2集群,啟動(dòng)4.9.6集群,測(cè)試確保正常運(yùn)行。
? ? ? ? 4.停掉4.9.6集群,復(fù)制4.9.2集群的store存儲(chǔ)文件夾到4.9.6,再次啟動(dòng)觀察有無(wú)異常,Topic及歷史消息是否可以正常查詢(xún)和使用。
? ? ? ? 5.停掉4.9.6集群,再啟動(dòng)4.9.2集群,確保兩個(gè)版本的集群都正??捎?#xff0c;無(wú)異常,目的是保證都可用,再生產(chǎn)機(jī)器升級(jí)遇到問(wèn)題時(shí)可以及時(shí)切回老版本,不至于長(zhǎng)時(shí)間停機(jī)影響業(yè)務(wù)。
? ? ? ? 6.生產(chǎn)環(huán)境備份4.9.2集群
? ? ? ? 7.生產(chǎn)環(huán)境配置4.9.6集群(參照測(cè)試環(huán)境配置過(guò)程)
? ? ? ? 8.生產(chǎn)環(huán)境停機(jī)4.9.2集群,復(fù)制store存儲(chǔ)目錄到4.9.6集群,啟動(dòng)4.9.6集群,并測(cè)試4.9.6有無(wú)異常。
? ? ? ? 注意:1-5步驟在測(cè)試機(jī)器進(jìn)行,重點(diǎn)是驗(yàn)證升級(jí)思路及可行性,避免在生產(chǎn)環(huán)境升級(jí)時(shí)遇到問(wèn)題不能及時(shí)解決導(dǎo)致消息隊(duì)列長(zhǎng)時(shí)間停機(jī)。6-8步驟在生產(chǎn)環(huán)境進(jìn)行,第8步驟生產(chǎn)MQ停機(jī)約在10分鐘左右。
二、實(shí)際操作(生產(chǎn)環(huán)境單機(jī)雙主雙從異步集群)
? ? ? ? 1.上傳4.9.6mq程序包并解壓
? ? ? ? 2.調(diào)整/rocketmq-4.9.6/bin目錄下runserver.sh、runbroker.sh里的JVM內(nèi)存參數(shù)(參照4.9.2版本的JVM參數(shù)即可)。
? ? ? ? 3.rocketmq-4.9.6/conf/2m-2s-async添加配置文件(可以直接copy原4.9.2的,再逐個(gè)檢查修改):
? ? ? ? ?4.在rocketmq-4.9.6目錄下創(chuàng)建logs文件夾用于存儲(chǔ)日志文件(我在broker中配置了日志輸出在/rocketmq-4.9.6/logs下)
? ? ? ? 5.調(diào)整LINUX機(jī)器ROCKETMQ_HOME環(huán)境變量到4.9.6目錄,并重新加載確??捎谩?/p>
修改/etc/profile文件,
修改后可以通過(guò)命令 echo $ROCKETMQ_HOME 查詢(xún)環(huán)境變量信息,
若未改變,需要通過(guò)命令 source /etc/profile 重新加載下即可。
? ? ? ? 6.停機(jī)4.9.2集群,復(fù)制store存儲(chǔ)目錄到4.9.6,啟動(dòng)4.9.6集群。
? ? ? ? ?提示:此步驟涉及到生產(chǎn)環(huán)境MQ停機(jī),停機(jī)時(shí)間越短越好,故提前準(zhǔn)備好4.9.2停機(jī)命令、store存儲(chǔ)目錄復(fù)制命令、4.9.6集群?jiǎn)?dòng)命令等,避免因LINUX命令不熟悉延長(zhǎng)停機(jī)時(shí)間。
? ? ? ? 7.通過(guò)rocketmq-dashboard儀表板查看MQ啟動(dòng)情況,并及時(shí)進(jìn)行消息的生產(chǎn)和消費(fèi)測(cè)試,第一時(shí)間確保升級(jí)后無(wú)異常。
啟動(dòng)命令:
# namesrv啟動(dòng)
nohup ${ROCKETMQ_HOME}/bin/mqnamesrv -c ${ROCKETMQ_HOME}/conf/2m-2s-async/namesrv-a.properties &>${ROCKETMQ_HOME}/logs/mqnamesrv_a.log 2>&1 &
nohup ${ROCKETMQ_HOME}/bin/mqnamesrv -c ${ROCKETMQ_HOME}/conf/2m-2s-async/namesrv-b.properties &>${ROCKETMQ_HOME}/logs/mqnamesrv_b.log 2>&1 &
#broker啟動(dòng)
nohup ${ROCKETMQ_HOME}/bin/mqbroker -c ${ROCKETMQ_HOME}/conf/2m-2s-async/broker-a.properties &>${ROCKETMQ_HOME}/logs/broker_a.log 2>&1 &
nohup ${ROCKETMQ_HOME}/bin/mqbroker -c ${ROCKETMQ_HOME}/conf/2m-2s-async/broker-a-s.properties &>${ROCKETMQ_HOME}/logs/broker_as.log 2>&1 &
nohup ${ROCKETMQ_HOME}/bin/mqbroker -c ${ROCKETMQ_HOME}/conf/2m-2s-async/broker-b.properties &>${ROCKETMQ_HOME}/logs/broker_b.log 2>&1 &
nohup ${ROCKETMQ_HOME}/bin/mqbroker -c ${ROCKETMQ_HOME}/conf/2m-2s-async/broker-b-s.properties &>${ROCKETMQ_HOME}/logs/broker_bs.log 2>&1 &
三、發(fā)送消息測(cè)試過(guò)程記錄
1. 生產(chǎn)者發(fā)送MQ消息:
2.rocketmq-dashboard儀表板查看剛剛發(fā)送的消息
3. 消費(fèi)者成功消費(fèi)MQ消息
?