安装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
相关文章
相关标签/搜索