RocketMQ安裝教程


RocketMQ安裝

官網: quick-start

受眾

本文檔要求讀者有一定的linux運維基礎,從事Java開發為佳,了解mvn項目構建.

簡介

RocketMQ 是由阿里用java語言開發的一款高性能、高吞吐量的分布式消息中間件,於2017年正式捐贈 Apache 基金會並成為頂級開源項目。

環境要求

官網的描述:

The following softwares are assumed installed:

  1. 64bit OS, Linux/Unix/Mac is recommended;
  2. 64bit JDK 1.8+;
  3. Maven 3.2.x;
  4. Git;
  5. 4g+ free disk for Broker server

筆者的環境:

  • ubuntu-14.04.6-server-amd64
  • java version 1.8.0_141

一、RocketMQ安裝

安裝必要軟件

安裝 jdk:

sudo apt-get update
sudo apt-get install default-jdk

 

或者 Linux安裝JDK1.8(wget方式)

安裝maven:

sudo apt-get install maven

安裝git:

sudo apt-get update
sudo apt-get install git

下載源碼包並構建

下載源碼包:

  wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip

 

通過maven構建:

 unzip rocketmq-all-4.2.0-source-release.zip
 cd rocketmq-all-4.2.0/
 mvn -Prelease-all -DskipTests clean install -U
 cd distribution/target/apache-rocketmq

 

修改默認配置:
開發調試的話,不需要使用太高的配置.默認的配置占用的內存太高.

vim bin/runserver.sh
vim bin/runbroker.sh
vim bin/tools.sh

 

修改JAVA_HOME及Xms,Xmx,Xmn等內存配置,默認最小4G

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

啟動name server

nohup sh bin/mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log

啟動 broker

nohup sh bin/mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log

收發消息

export NAMESRV_ADDR=localhost:9876
    
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
    
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

二、RocketMQ控制台

文檔地址: RocketMQ-Console-Ng

拉取源碼:

cd /opt
git clone https://github.com/apache/rocketmq-externals.git

修改配置:

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

配置文件內容: 
將項目使用的rocketmq.config.namesrvAddr配置上去,設置rocketmq.config.isVIPChannel=false

server.contextPath=
server.port=8080

### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey

#spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
#set the message track trace topic if you don't want use the default one
rocketmq.config.msgTrackTopicName=
rocketmq.config.ticketKey=ticket

#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
rocketmq.config.loginRequired=false

 

將rocktmq-console打成jar包,得到rocketmq-console-ng-1.0.0.jar:

mvn clean package -Dmaven.test.skip=true

運行jar包,啟動項目,這里也可以設置rocketmq.config.namesrvAdd:

java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=182.254.140.224:9876

NOTE: 筆者使用的是虛擬機安裝,為了方便在宿主機上看到控制台,因此,筆者將ubuntu的防火牆關閉. 命令: sudo ufw disable

DEMO

TODO: github link


免責聲明!

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



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