该书以rocketMQ的4.2.0版本讲解,目前我用的是最新版是4.7.0,现在看起来差不多
rocketMq目录如下:
LICENSE NOTICE README . md benchmark/ bin/ conf/ lib/
LICENSE 、NOTICE 和README.md 包括一些版权声明和功能说明信息;
benchmark 里包括运行benchmark 程序的shell 脚本;
bin 文件夹里含有各种使用RocketMQ 的shell 脚本( Linux 平台)和cmd 脚本( Windows 平台),比如常用的启动NameServer 的脚本mqnamesrv ,启动Broker 的脚本mqbroker , 集群管理脚本mqadmin 等;
conf 文件夹里有一些示例配置文件,包括三种方式的broker 配置文件、logback 日志配置文件等,用户在写配置文件的时候,一般基于这些示例配置文件,加上自己特殊的需求即可;
lib 文件夹里包括RocketMQ各个模块编译成的jar 包,以及RocketMQ 依赖的一些jar 包,比如Netty 、commons - lang 、FastJSON 等。
lib的目录如下:
可以看出,rocketmq的代码并不太多,其中rocketmq引用了netty、jna、guava、fastjson、commons等工具包。
启动NameServer: > nohup sh bin/mqnamesrv & > tail - f ~/Logs / rocketmqLogs / namesrv . Log The Name Server boot success . .. 启动B roker : > nohup sh bin/mqbroker n localhost : 9876& > tail -f ~/ Logs/rocketmqLogs/broker . Log The broker[%s, 192.168.0.233 : 10911] boot success .. . 运行示例程序,发送和接收消息: >export NAMESRV ADDR=localhost : 9876 > sh bin/tools.sh org.apache.roc ketmq.example . quickstart.Producer SendResult [sendStatus=SEND OK, msgid= > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer ConsumeMessageThread_%d Receive New Messages : [MessageExt . ..
关闭NameServer 和Broker:
> sh bin/mqshutdown broker
The mqbroker (36695) i s running ...
Send shutdown request to mqbroker (36695 ) OK
> sh bin/mqshutdown namesrv
The mqnames r v (36664 ) is runn 工口g ...
Send shutdown request t o mqnamesrv (36664) OK
由于mac安装jdk方式时不需要配置JAVA_HOME,所以导致运行时找不到$JAVA_HOME, 你可以用命令行运行 env JAVA_HOME 测试一下。
在~/.bash_profile中添加 JAVA_HOME 环境变量后运行source .bash_profile 之后,新开一个命令行窗口启动rocketmq。