rocketmq單點部署


下載地址:https://github.com/alibaba/RocketMQ

 

轉載請注明來源:http://blog.csdn.net/loongshawn/article/details/51086876

 

相關文章:

 

 

0 RocketMQ簡介

 

0.1 介紹

 

RocketMQ是一個消息中間件。消息中間件中有兩個角色:消息生產者和消息消費者。RocketMQ里同樣有這兩個概念,消息生產者負責創建消息並發送到RocketMQ服務器,RocketMQ服務器會將消息持久化到磁盤,消息消費者從RocketMQ服務器拉取消息並提交給應用消費。

 

0.2 特點

 

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

 

  • 支持嚴格的消息順序
  • 支持Topic與Queue兩種模式
  • 億級消息堆積能力
  • 比較友好的分布式特性
  • 同時支持Push與Pull方式消費消息
  • 歷經多次天貓雙十一海量消息考驗

 

0.3 部署結構

 

這里寫圖片描述

 

上圖所示為RocketMQ的部署結構,圖中Meta字樣為RocketMQ早期代號。

 

1 RocketMQ 消息隊列單機部署

 

1.1 系統配置環境

 

主機:Linux 
內存:8G 
硬盤:250G 
CPU:4核 
這里寫圖片描述 
這里寫圖片描述

 

1.2 需要用到的軟件包和文檔

 

目前在Github上可下載最新的安裝包alibaba-rocketmq-3.2.6.tar

 

下載地址:https://github.com/alibaba/RocketMQ

 

歷史版本說明文檔:Metaq原理與應用.docx

 

備注:RocketMQ早起在淘寶內部叫Metaq,去年改名為RocketMQ,不過該文檔是針對歷史版本的Metaq,僅供參考和熟悉一些概念。

 

1.3 服務器java環境

 

$java -version
java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

 

 

1.4 rocketmq服務端安裝

 

解壓alibaba-rocketmq-3.2.6.tar

 

tar xvf alibaba-rocketmq-3.1.8.tar.gz -C /opt/

 

 

配置rocketmq的環境變量,在/etc/profile最后添加

 

export ROCKETMQ_HOME=/opt/alibaba-rocketmq export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH

 

 

這里寫圖片描述

 

使rocketmq的環境變量生效

 

source /etc/profile

 

 

給下列命令可執行權限

cd /opt/alibaba-rocketmq/bin/; chmod +x mqadmin mqbroker mqfiltersrv mqshutdown mqnamesrv

修改腳本內存

  runbroker.sh   #JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"  內存至少1G

  runserver.sh

 

這里寫圖片描述

 

新建日志文件夾

 

cd /opt/alibaba-rocketmq mkdir log

 

 

這里寫圖片描述

 

啟動nameserver

 

nohup mqnamesrv 1>/opt/alibaba-rocketmq/log/ng.log 2>/opt/alibaba-rocketmq/log/ng-err.log &

 

 

查看啟動狀態

 

$ps aux|grep java
125233 12248 21.1 0.9 7151512 75844 pts/1 Sl 11:37 0:01 /opt/java/jdk1.8.0_45/bin/java -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -verbose:gc -Xloggc:/home/xiaolong.xiao/rmq_srv_gc.log -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -Djava.ext.dirs=/opt/alibaba-rocketmq/bin/../lib -cp .:/opt/alibaba-rocketmq/bin/../conf:.:/opt/java/jdk1.8.0_45/lib/dt.jar:/opt/java/jdk1.8.0_45/lib/tools.jar com.alibaba.rocketmq.namesrv.NamesrvStartup

 

 

驗證nameserver是否啟動

 

$tail -f /opt/alibaba-rocketmq/log/ng.log
The Name Server boot success.

 

 

啟動broker,在啟動borker之前需要指定nameserver地址,其中10.125.1.186為所在服務器IP

 

export NAMESRV_ADDR=10.125.1.186:9876 nohup mqbroker >/opt/alibaba-rocketmq/log/mq.log &

 

 

驗證mqbroker是否啟動

 

tail -f /opt/alibaba-rocketmq/log/mq.log

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=320m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release. The broker[e010125001186.bja, 10.125.1.186:10911] boot success. and name server is 10.125.1.186:9876

 

 

最后配置防火牆 
nameserver端口為9876 
broker端口為10911

 

lokkit -p 9876:tcp -p 10911:tcp

 

 

關閉nameserver broker執行的命令

 

mqshutdown namesrv
mqshutdown broker

 

關閉nameserver

 

mqshutdown namesrv
The mqnamesrv(12248) is running... Send shutdown request to mqnamesrv(12248) OK

 

 

關閉broker

 

$mqshutdown broker
The mqbroker(13634) is running... Send shutdown request to mqbroker(13634) OK

 

 

安裝成功顯示結果: 
這里寫圖片描述

 


免責聲明!

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



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