消息队列之Rocketmq在linux上安装

阅读更多

下载安装64位的jdk8(解压版),配置环境变量:JAVA_HOME、PATH、CLASS_PATH

下载安装4.2版本的rocketmq,配置环境变量:PATH、ROCKETMQ_HOME

查看java安装完成:java -version

启动rocketmq:
(1)NameServer:
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
(2)Broker
nohup sh bin/mqbroker -n 127.0.0.1:9876 &
tail -f ~/logs/rocketmqlogs/broker.log

对于nameserver和broker日志位置都可以手动配置,具体配置文件就是conf下的logback_broker.xml和logback_namesrv.xml


1.虚拟机上很容易瞬间启动失败,这时候如果前台启动可能会看到下面这样的内容
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory

那么这种情况很明显就是内存不足导致的申请失败,RocketMQ默认配置是比较好的,
这样可以直接应用于生产环境,所以如果机器内存较小,可以手动调整JVM的配置,
可以先编辑bin/mqbroker会看到最后还是调用了bin/runbroker.sh,
这里打开bin/runbroker.sh,找到jvm启动配置如下

-Xms256m
2.出现了Java.NET.UnknownHostException异常
(1)设置本机名称:hostname mName     xxx最好不是写IP地址的形式,若写则必须是本机的完全IP形式(不要只写一半)
(2) 在/etc/hosts里加一行 本机IP mName

3.查看是否启动成功 jps
NamesrvStartup
BrokerStartup

4.发送消息
现在可以跑一个简单的示例看一下了,现在可以打开两个窗口,
一个查看生产者,一个查看消费者,
首先两个shell窗口都需要执行命令: export NAMESRV_ADDR=monchickey:9876
导入一下nameserver变量,然后第一个窗口执行下面命令启动生产者实例发送消息:

bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
可以看到发送成功的消息返回:SendResult [sendStatus=SEND_OK
然后另一个窗口可以启动消费者实例消费:
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
可以看到消费消息如下:
Receives New Message

5.关闭服务
到这里其实最简单的RocketMQ环境就配置好了,可以看到基本上没有什么配置需要修改的,
停止nameserver和broker可以分别执行下面命令:
bin/mqshutdown namesrv
bin/mqshutdown broker

broker参数:
nohup bin/mqbroker -c ./conf/broker.properties -n monchickey:9876 &

你可能感兴趣的:(rocketmq)