linux安裝rocketmq


1RocketMQ簡介

RocketMQ是一款分布式、隊列模型的消息中間件,具有以下特點:

能夠保證嚴格的消息順序

提供豐富的消息拉取模式

高效的訂閱者水平擴展能力

實時的消息訂閱機制

億級消息堆積能力

官網介紹:https://yq.aliyun.com/articles/624207?utm_content=m_1000012577

2 准備工作

本次安裝選擇在可連外網的本地虛擬機執行第2步,第3步,將編譯好的結果(在SVN安裝介質有)copy到服務器配置一下即可

2.1安裝jdk

https://blog.csdn.net/Shiloh_My/article/details/82911878

https://www.cnblogs.com/pu20065226/p/10730506.html

2.2安裝maven

下載源碼包

wget http://mirror.bit.edu.cn/apache/maven/binaries/apache-maven-3.2.2-bin.tar.gz

tar -zxvf apache-maven-3.2.2-bin.tar.gz

2.3配置環境變量

以root用戶修改/etc/profile,追加

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ROCKETMQ_HOME=/home/ap/testapp/software/rocketmq-all-4.2.0/distribution/target/apache-rocketmq
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
export MAVEN_HOME PATH

 

配置生效:

source /etc/profile

 

2.4配置maven鏡像

注:保證服務器可以連外網

 在鏡像連阿里雲

[testapp@k8s-node1 /usr/local/maven/apache-maven-3.6.1/conf]$ pwd
/usr/local/maven/apache-maven-3.6.1/conf
[testapp@k8s-node1 /usr/local/maven/apache-maven-3.6.1/conf]$ cat settings.xml 
......
<mirrors>
 <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

 

驗證maven:

 

 

3RocketMQ下載編譯

3.1下載rocketmq4.2.0

https://github.com/apache/rocketmq/archive/release-4.2.0.zip下載zip包並上傳

或者wget -P /software https://github.com/apache/rocketmq/archive/release-4.2.0.zip -O rocketmq-all-4.2.0-source-release.zip

Wget命令說明-P表示目錄沒有就創建,-O表示重命名

免編譯版本(本文未用):http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

3.2編譯

unzip rocketmq-all-4.2.0-source-release.zip

cd rocketmq-all-4.2.0

 

[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$ ll
總用量 64
-rw-r--r-- 1 root root  2917 12月 13 2017 1
drwxr-xr-x 4 root root    46 8月  20 19:38 broker
-rw-r--r-- 1 root root   997 12月 13 2017 BUILDING
drwxr-xr-x 4 root root    46 8月  20 19:38 client
drwxr-xr-x 4 root root    46 8月  20 19:37 common
-rw-r--r-- 1 root root  1997 12月 13 2017 CONTRIBUTING.md
-rw-r--r-- 1 root root   271 12月 13 2017 DEPENDENCIES
drwxr-xr-x 2 root root    34 12月 13 2017 dev
drwxr-xr-x 6 root root   157 8月  20 19:39 distribution
drwxr-xr-x 4 root root    46 8月  20 19:38 example
drwxr-xr-x 4 root root    46 8月  20 19:38 filter
drwxr-xr-x 4 root root    46 8月  20 19:38 filtersrv
-rw-r--r-- 1 root root 11365 12月 13 2017 LICENSE
drwxr-xr-x 4 root root    46 8月  20 19:38 logappender
drwxr-xr-x 4 root root    46 8月  20 19:38 namesrv
-rw-r--r-- 1 root root   168 12月 13 2017 NOTICE
drwxr-xr-x 4 root root    46 8月  20 19:38 openmessaging
-rw-r--r-- 1 root root 23353 12月 13 2017 pom.xml
-rw-r--r-- 1 root root  1524 12月 13 2017 PULL_REQUEST_TEMPLATE.md
-rw-r--r-- 1 root root  2426 12月 13 2017 README.md
drwxr-xr-x 4 root root    46 8月  20 19:37 remoting
drwxr-xr-x 4 root root    46 8月  20 19:38 srvutil
drwxr-xr-x 4 root root    46 8月  20 19:38 store
drwxr-xr-x 3 root root    74 12月 13 2017 style
drwxr-xr-x 4 root root   167 8月  20 19:37 target
drwxr-xr-x 4 root root    46 8月  20 19:38 test
drwxr-xr-x 4 root root    46 8月  20 19:38 tools
[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$

[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$ pwd
/home/ap/testapp/software/rocketmq-all-4.2.0

 

mvn -Prelease-all -DskipTests clean install -U

時間會比較長,要去下載相關依賴包

 

 

 

 

4安裝步驟

保證2.3 ROCKETMQ_HOME變量以root用戶添加並生效,第4步可以不用root用戶如softwareapp

 

4.1拷貝編譯后的文件至服務器

 

 

 

4.2   啟動namesrv

nohup sh bin/mqnamesrv &

如果這條命令報錯,請使用 nohup sh bin/mqnamesrv  >/dev/null 2>&1 &

tail -f ~/logs/rocketmqlogs/namesrv.log

4.3啟動broker

nohup sh bin/mqbroker -n localhost:9876 &

tail -f ~/logs/rocketmqlogs/broker.log

5.驗證

在發送/接收消息之前,我們需要告訴客戶名稱服務器的位置。RocketMQ 提供了多種方法來實現這一點。為了簡單起見,我們使用環境變量NAMESRV_ADDR

5.1發送

export NAMESRV_ADDR=localhost:9876

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

5.2 接收

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

 

6.關閉服務器

sh bin/mqshutdown broker    //停止 broker

sh bin/mqshutdown namesrv   //停止 nameserver

 

7.修改內存配置

默認配置太大,top命令下消耗內存太多,可按需求更改

cd /software/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/bin

使用vim xxx.sh命令進行JVM參數配置修改:
將runbroker.sh的第一個JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
將runserver.sh的第一個JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

 

8.常用命令

查看集群情況 ./mqadmin clusterList -n 192.168.102.84:9876

查看 broker 狀態 ./mqadmin brokerStatus -n 192.168.102.84:9876 -b 192.168.102.84:10911 (注意換成你的 broker 地址)

查看 topic 列表 ./mqadmin topicList -n 192.168.102.84:9876

查看 topic 狀態 ./mqadmin topicStatus -n 192.168.102.84:9876 -t MyTopic (換成你想查詢的 topic)

查看 topic 路由 ./mqadmin topicRoute -n 192.168.102.84:9876 -t MyTopic

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM