日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文主要分如下幾個部分展開:

- linux服務器安裝RocketMQ、RocketMQ-Console

- IDEA中搭建可調試環境

 1、Linux安裝RocketMQ、RocketMQ-Console

 1.1安裝RocketMQ

Step1:從如下地址下載RocketMQ安裝包

cd /opt/Application
wget https://mirrors.tuna.tsinghua.edu.cn/Apache/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip

Step2:解壓安裝包

unzip rocketmq-all-4.7.1-bin-release.zip
ls -l

解壓后的文件如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

其中 conf 文件夾存放的是RocketMQ的配置文件,提供了各種部署結構的示例配置。例如2m-2s-async是2主2從異步復制的配置示例;2m-noslave是2主的示例配置。由于本文主要是搭建一個學習環境,故采取的部署架構為1主的部署架構,關于生產環境下如何搭建RocketMQ集群、如何調優參數將在該專欄的后續文章中專門介紹。

Step3:修改Nameserver jvm參數

cd bin
vi runserver.sh# 定位到如下代碼JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 修改 "-Xms -Xmx -Xmn" 參數
JAVA_OPT="${JAVA_OPT} -server -Xms512M -Xmx512M -Xmn256M -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

溫馨提示:這里修改JVM參數主要目的是個人學習電腦內存不夠,默認NameServer 會占用4G。

Step4:啟動nameserver

nohup ./mqnamesrv &

查看${user_home}/logs/rocketmqlogs/namesrv.log日志文件,如果輸出結果如下圖所示即表示啟動成功。

RocketMQ安裝與IDEA Debug環境搭建

 

Step5:修改broker的配置文件

vi conf/broker.conf
# 使用如下配置文件brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTERflushDiskType = ASYNC_FLUSHstorePathRootDir=/data/rocketmq/store
storePathCommitLog=/data/rocketmq/store/commitlog
namesrvAddr=127.0.0.1:9876
brokerIP1=192.168.3.10
brokerIP2=192.168.3.10
autoCreateTopicEnable=false

Step6:修改broker jvm參數。

cd bin
vi runbroker.sh #修改如下配置(配置前)JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#配置后JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"

Step7:啟動broker

cd bin
nohup ./mqbroker -c ../conf/broker.conf &

查看${user_home}/logs/rocketmqlogs/broker.log,如果輸出結果如下圖所示表示啟動成功。

RocketMQ安裝與IDEA Debug環境搭建

 

經過上面的步驟,就成功在Linux環境上安裝了RocketMQ Nameserver服務器與Broker服務器。

溫馨提示:如果上面在安裝過程中發生了錯誤,大家可以查看${user_home}/logs/rocketmqlogs中的日志,通過錯誤日志,能夠較為直觀的判斷錯誤的原因。其中${user_home}為用戶主目錄。

 

該目錄下會有眾多的日志文件,如果一開始對這些文件的含義不了解也沒關系,大家可以通過 ls -l 命令,逐一查看文件大小不為0的文件,從而尋找錯誤日志,便于快速解決問題。

RocketMQ提供了眾多的運維命令來查看RocketMQ集群的運行狀態,在這里我先簡單使用clusterList命令來查看集群的狀態,用于驗證一下集群的狀態。

sh ./mqadmin clusterList -n 127.0.0.1:9876

其運行結果如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

 1.2 安裝RocketMQ-Console

使用運維命令不太直觀,學習成本較大,為此RocketMQ官方提供了一個運維管理界面RokcetMQ-Console,用于對RocketMQ集群提供常用的運維功能,故本節主要講解如何在Linux環境安裝rocketmq-console。

RocketMQ官方并未提供rocketmq-console的安裝包,故需要通過源碼進行編譯。

Step1:下載源碼

wget https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.tar.gz
tar -xf rocketmq-console-1.0.0.tar.gz
# 重命名,為了方便后續操作
mv rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console  rocketmq-console

Step2:修改配置文件

cd rocketmq-console
vi src/main/resources/applications.properties

主要是修改指向的nameserver地址,修改結果如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

Step3:使用maven命令編譯源代碼。

mvn clean  package -DskipTests

編譯后在target目錄下會生成可運行的jar包,如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

Step4:我們可以將該包復制到自己常用的軟件安裝目錄,例如筆者喜歡將其放在/opt/application下。

cp rocketmq-console-ng-1.0.0.jar /opt/application/

Step5:啟動rocketmq-conolse

nohup java -jar rocketmq-console-ng-1.0.0.jar &

在瀏覽器中輸入:http://localhost:8080查看是否安裝成功,如果出現如下圖則表示安裝成功。

RocketMQ安裝與IDEA Debug環境搭建

 

 1.3 異常分析與解決思路

如果在安裝過程中出現意想不到的錯誤,別慌,通過查看相關的日志文件,尋找錯誤日志,根據錯誤日志進行思考或百度,相信能夠輕易將其解決。

例如使用的baseuser 啟動的rocketmq,rocketmq-console,那相關的日志路徑如下:

rocketmq:/home/baseuser/logs/rocketmqlogs/

rocketmq-console:/home/baseuser/logs/consolelogs

 2、IDEA中安裝RocketMQ

絕大數的程序員最信賴的開發調試工具基本都是DEBUG,那能在 IDEA 中 debug RocketMQ的源碼嗎?答案當然是可以的。本節就來演示如何在IDEA中運行RocketMQ的Nameserver、Broker組件,并進行Debug。

Setp1:從github上下載RocketMQ源碼,并將其導入到IEDA中,其截圖如下:

RocketMQ安裝與IDEA Debug環境搭建

 

Step2:namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup設置環境變量ROCKETMQ_HOME,操作步驟如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

設置環境變量名稱:ROCKETMQ_HOME,其值用于指定RocketMQ運行的主目錄,筆者設置的路徑為:/home/dingwpmz/tmp/rocketmq。

Step3:將distribution/conf/logback_namesrv.xml文件拷貝到【Step2】中設置的主目錄下,執行后的效果如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

溫馨提示:該文件為nameserver的日志路勁,可以手動修改logback_namesrv.xml文件中的日志目錄,由于這是logback的基礎知識,這里就不再詳細介紹logback的配置方法。

Step4:以debug方法運行NamesrvStartup,執行效果如下圖所示,表示啟動成功。

RocketMQ安裝與IDEA Debug環境搭建

 

Step5:將distribution/conf/logback_brokerxml、broker.conf文件拷貝到【Step2】中設置的主目錄下,執行后的效果如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

Step6:修改broker.conf中的配置,主要設置nameserver的地址,broker的名稱等相關屬性。

vi broker.conf
# 使用如下配置文件brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTERflushDiskType = ASYNC_FLUSHstorePathRootDir=/home/dingwpmz/tmp/rocketmq/store
storePathCommitLog=/home/dingwpmz/tmp/rocketmq/store/commitlog
namesrvAddr=127.0.0.1:9876
brokerIP1=192.168.3.10
brokerIP2=192.168.3.10
autoCreateTopicEnable=true

Step7:broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup設置環境變量ROCKETMQ_HOME,操作步驟如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

Step8:以Debug模式運行BrokerStartup,其運行結果如下圖所示:

RocketMQ安裝與IDEA Debug環境搭建

 

看到這樣的提示就表示大功告成。

接下來簡單來做一個驗證。

首先先在AbstractSendMessageProcessor類的parseRequestHeader方法中打上一個斷點。

然后運行example中org/apache/rocketmq/example/quickstart/Producer,看是否能進入到斷點中,運行結果如下圖所示,已進入到Debug模式。

RocketMQ安裝與IDEA Debug環境搭建

 

 3、小結

本篇作為RocketMQ實戰系列的第一篇文章,其目的就是構建一個研究RocketMQ的學習環境,故從兩個方面進行展開:

1、在Linux環境安裝RocketMQ、RocketMQ-Console。

2、在IDEA中運行RocketMQ,構建一個可以調試RocketMQ的環境。

溫馨提示:搭建一個可調試的環境,但絕不是學習RocketMQ源碼,就從Debug一步異步跟蹤,這樣會陷入其中而不可自拔,DEBUG只是一種輔助,應該用在無法理解某一端代碼時,使用DEBUG,借助運行時的一些數據,使之更容易理解。

分享到:
標簽:RocketMQ
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定