一、安裝
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、啓動消息隊列服務
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,還是遠遠不夠的。