安裝Apache RocketMQ

一、導出源碼和構建

git clone -b develop https://github.com/apache/rocketmq.git
 cd rocketmq
 mvn -Prelease-all -DskipTests clean install -U
 cd distribution/target/apache-rocketmq

二、啓動name server

> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

三、啓動broker

> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log 
The broker[%s, 172.30.30.233:10911] boot success...

注意:git

    若是啓動失敗拋出以下異常,說明內存不夠。github

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
  • 換更高內存的服務器。
  • 調整啓動broker時的jvm配置。修改runbroker.sh,默認-Xms8g -Xmx8g -Xmn4g,能夠根據本身的服務器調整參數。-Xmx(JVM最大可用內存)-Xms(JVM初始內存)-Xmn(年輕代內存)。
#===========================================================================================
# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"

四、測試發送/接收消息

    在發送/接收消息前,咱們須要告訴客戶端broker。rocketmq有多種方式實現它。爲簡單的起見,咱們使用環境變量NAMESRV_ADDR。apache

> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...

五、關閉服務

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
相關文章
相關標籤/搜索