上个月老师让完成消息中间件的环境搭建,自选消息中间件,在此选择rocketmq,由于在环境配置走了许多弯路,现在回忆记录一下。(文字为ubuntu14.04下的命令,图片为centos下的命令,二者差别不大。)
参考文章:
RocketMQ环境要求
(jdk、maven以及git工具下载与配置见参考文章,此处不再赘述。)
一、下载并构建
git clone https://github.com/apache/incubator-rocketmq.git
cd incubator-rocketmq
mvn -Prelease-all -DskipTests clean install -U
二、配置环境变量
vim /etc/profile
在结尾处添加:
export ROCKETMQ_HOME=/opt/incubator-rocketmq/distribution/target/apache-rocketmq
export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH
使配置生效
source /etc/profile
三、修改服务器内存
由于RocketMQ默认配置要求很高,比如内存至少就要4个G,开发调试环境根本吃不消,所以开始启动前需要先修改这些参数。否则的话,会遇到内存分配或者不够的问题。
vim target/apache-rocketmq/bin/tools.sh
vim target/apache-rocketmq/bin/runbroker.sh
vim target/apache-rocketmq/bin/runserver.sh
四、启动NameServer
进入/distribution/target/apache-rocketmq目录下
nohup sh mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
五、启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log
六、发送和接收消息
发送/接收消息之前,需要告诉客户端 NameServer 地址。为简单起见,我们使用环境变量 NAMESRV_ADDR。
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
七、关闭服务
关闭Broker
sh bin/mqshutdown broker
关闭Name Server
sh bin/mqshutdown namesrv