RocketMQ修煉之路(二):安裝RocketMQ、執行示例demo

一、安裝

1、RocketMQ安裝前的準備工作

(1)JDK1.8+。Java的版本必須大於等於1.8,所以你得保證你的安裝環境必須裝有JDK1.8+。

(2)系統要求:64位的Linux、Unix或Mac。

(3)Maven 3.2.x。Maven工具其實不是必須要使用的。安裝包有二進制包xx-bin-.zip和源碼包xx-source--.zip。如果下載的是源碼包,就需要用maven手動編譯,下載二進制包就不需要了。

2、下載安裝包,解壓

       官方下載地址:http://rocketmq.apache.org/dowloading/releases/       

       本文以二進制包爲例,只需系統中安裝有JDK1.8環境就行了。下載的版本是rocketmq-all-4.5.1-bin-release.zip。

       下載完成後,放到自己習慣的目錄。建議使用WinSCP等工具操作。例如,本文將安裝包放到如下目錄:

       解壓,使用如下命令進行解壓:

       unzip rocketmq-all-4.5.1-bin-release.zip

       解壓完成後,在當前目錄下,就出現瞭解壓後的文件,如下圖所示:

3、修改內存配置

      RocketMQ默認的內存較大,啓動時如果內存不夠,就會啓動失敗(Exit),這時就需要修改JVM內存大小。其實,在學習過程中,我們一般都是在虛擬機裏搞的,不會給虛擬機分配太大的內存,所以如果不修改內存的話,基本都會啓動失敗。

       在bin目錄下有兩個文件:

打開runserver.sh文件,我們可以找到下面這幾行配置,可以看到啓動內存非常大。

# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8  -XX:-UseParNewGC"

根據實際情況,修改成下面的大小:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

打開runbroker.sh文件,修改如下:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

4、啓動消息隊列服務

       首先進入到bin目錄。
       啓動 NameServer:
 
       啓動Broker:

5、用命令行發送和接受消息

       在bin目錄下,有個腳本文件tools.sh,我們可以通過這個工具腳本運行示例demo。

       首先是生產者

       # 設置環境變量

       [root@ztt bin]export NAMESRV_ADDR=localhost:9876

       # 使用安裝包的Demo發送消息

       [root@ztt bin]sh tools.sh org.apache.rocketmq.example.quickstart.Producer

        可以在控制檯看到生產了很多的消息:

       消費者:

       # 接收消息

       [root@ztt bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

       可以看到消費者對消息進行了消費:

6、關閉消息隊列服務

       有啓動方法就會有對應的關閉方法。

       關閉broker服務

       sh mqshutdown broker

       關閉nameserver服務

       sh mqshutdown namesrv

       到這裏,我們成功安裝了RocketMQ,並且用示例程序成功發送和接收到了消息。

       當然,這些只是最基礎的東西,如果要真正使用RocketMQ,還是遠遠不夠的。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章