这世上学习的方法有很多种,我是属于那种现实操作流派,什么东西都喜欢先操作一遍再来探究理论,先解决温饱,再来追求文明 ,下面进入如何快速部署rocketMQ环节。
下载地址:
http://rocketmq.apache.org/docs/quick-start/
0 部署环境:
> unzip rocketmq-all-4.3.0-source-release.zip
> cd rocketmq-all-4.3.0/
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq
distribution/target/apache-rocketmq 这个当作是MQ根目录。
加环境变量 vim /etc/profile 注意linux下用冒号分割开:
1 启动nameserver
在ROCKET_HOME路径下执行命令nohup...(后台运行)
可以查看日志
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
2 启动broker
Broker节点的配置文件在/rocketmq/conf下面,有三种配置方式:
2m-noslave: 多Master模式
2m-2s-sync: 多Master多Slave模式,同步双写
2m-2s-async:多Master多Slave模式,异步复制
在ROCKET_HOME路径下执行命令
nohup sh mqbroker &
如果没有注册环境变量NAMESRV_ADDR执行
nohup sh mqbroker -n服务器IP:9876 &
如有多个broker的配置文件,则还要加上启动哪个broker的配置文件,终极语句如:
nohup sh mqbroker -n 服务器IP:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-a.properties &
查看日志:
tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...
注意:一般单机做测试的话,namesrv和brocker会耗很大内存,可以修改以下两个sh文件,b比如修改为512M,至于为什么这样修改,涉及到java虚拟机性能调优,后开写专题再讨论,一般来说,正常项目线上环境内存够用,不用调这两个:
runserver.sh (namesrv 配置)
runbroker .sh (brocker 配置)
3 关闭,一般先关闭所有的broker,再关闭nameserver
> 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
4 测试
RocketMQ有自带的调试工具模拟Producer和Consumer
> 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...
|
|