RocketMQ4.0.0环境搭建及HelloWorld

一、linux平台下搭建

1 准备条件:64bit JDK 1.7+;且配置好JAVA_HOME环境变量

2 去apache官网Downloading the Apache RocketMQ Releases下载rocketmq-all-4.0.0-incubating-bin-release.zip,注意:最好要Binary版,不然后续启动会报ClassNotFound错误。如果官网已经没有4.0.0版本或者无法连接到官网,也可以到我的资源RocketMQ4.0.0安装包下载。

3 解压文件:unzip rocketmq-all-4.0.0-incubating-bin-release.zip

4 进入解压后的目录apache-rocketmq-all

5 启动 Name Server:

nohup sh bin/mqnamesrv &

6 启动Broker:

nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &

!!!(记得加 autoCreateTopicEnable=true ,否则会报No route info of this topic错误)

测试:

启动 Producer:

export NAMESRV_ADDR=localhost:9876

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

启动 Consumer:

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

二、windows平台下搭建

很悲伤,RocketMQ4.0.0版本暂无windows版,但是我们还是可以在windows平台下使用和练习。

1 在rocketmq的github地址 将源代码导入到本地。
如果该地址版本已更新,可以到我的github地址下载,以确保是4.0.0版本。

2 添加环境变量ROCKETMQ_HOME ,设置值为:127.0.0.1:9876

3 启动Name Server:
(a) 进入org.apache.rocketmq.namesrv包内的NamesrvStartup类,修改109行的

configurator.doConfigure(namesrvConfig.getRocketmqHome() + "/conf/logback_namesrv.xml");

将namesrvConfig.getRocketmqHome()改为你工程存放的目录,例如我的设置是

configurator.doConfigure("E:/IdeaWorkplace/incubator-rocketmq" + "/conf/logback_namesrv.xml");

(b) run NamesrvStartup类的main方法

4 启动Broker:
(a) 进入org.apache.rocketmq.broker包内的BrokerStartup类,修改183行的

configurator.doConfigure(brokerConfig.getRocketmqHome() + "/conf/logback_broker.xml");

将brokerConfig.getRocketmqHome()改为你工程存放的目录,例如我的设置是

configurator.doConfigure("E:/IdeaWorkplace/incubator-rocketmq" + "/conf/logback_namesrv.xml");

(b) run BrokerStartup的main方法

5 测试
进入example模块下的org.apache.rocketmq.example.quickstart包,先run Producer的main方法,再run Consumer的main方法。看到如下输出,表示配置成功。

SendResult [sendStatus=SEND_OK, msgId=0A762C5D210447415DBF06CF99C203E0, offsetMsgId=0A762C5D00002A9F0000000000060E64, messageQueue=MessageQueue [topic=TopicTest, brokerName=SF0001139954B, queueId=1], queueOffset=498]
SendResult [sendStatus=SEND_OK, msgId=0A762C5D210447415DBF06CF99C503E1, offsetMsgId=0A762C5D00002A9F0000000000060F18, messageQueue=MessageQueue [topic=TopicTest, brokerName=SF0001139954B, queueId=2], queueOffset=498]
SendResult [sendStatus=SEND_OK, msgId=0A762C5D210447415DBF06CF99C703E2, offsetMsgId=0A762C5D00002A9F0000000000060FCC, messageQueue=MessageQueue [topic=TopicTest, brokerName=SF0001139954B, queueId=3], queueOffset=498]
ConsumeMessageThread_9 Receive New Messages: [MessageExt [queueId=3, storeSize=180, queueOffset=484, sysFlag=0, bornTimestamp=1488455068491, bornHost=/10.118.44.93:59296, storeTimestamp=1488455068492, storeHost=/10.118.44.93:10911, msgId=0A762C5D00002A9F000000000005E86C, commitLogOffset=387180, bodyCRC=736192263, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message [topic=TopicTest, flag=0, properties={TAGS=TagA, WAIT=true, UNIQ_KEY=0A762C5D210447415DBF06CF994B03AA, MAX_OFFSET=500, CONSUME_START_TIME=1488455116459, MIN_OFFSET=0}, body=18]]]
ConsumeMessageThread_18 Receive New Messages: [MessageExt [queueId=3, storeSize=180, queueOffset=483, sysFlag=0, bornTimestamp=1488455068483, bornHost=/10.118.44.93:59296, storeTimestamp=1488455068484, storeHost=/10.118.44.93:10911, msgId=0A762C5D00002A9F000000000005E59C, commitLogOffset=386460, bodyCRC=576138028, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message [topic=TopicTest, flag=0, properties={TAGS=TagA, WAIT=true, UNIQ_KEY=0A762C5D210447415DBF06CF994303A6, MAX_OFFSET=500, CONSUME_START_TIME=1488455116459, MIN_OFFSET=0}, body=18]]]

你可能感兴趣的:(RocketMQ,rocketmq)