安装条件
- 64位操作系统,建议使用 Linux / Unix / Mac;
- 64位JDK 1.8+;
- Maven 3.2.x
下载和构建
从 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip 下载 4.2.0 的源码版本,执行以下命令来解压4.2.0源码版本并构建二进制文件。
unzip rocketmq-all-4.2.0-source-release.zip
cd rocketmq-all-4.2.0/
mvn -Prelease-all -DskipTests clean install -U
构建成功后 进入到目录 :
cd distribution/target/apache-rocketmq
启动 NameServer
nohup sh bin/mqnamesrv &
##查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log
PS:启动过程可能会因为内存不够而出错,将启动参数的内存配置修改一下 vim bin/runserver.sh
nvalid initial heap size: -Xms4g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit
启动 Broker
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log
PS:启动过程可能会因为内存不够而出错,将启动参数的内存配置修改一下 bin/runbroker.sh
Invalid initial heap size: -Xms8g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
发送和接收消息
在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量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
关闭服务器
sh bin/mqshutdown broker //停止 broker
sh bin/mqshutdown namesrv //停止 nameserver
常用命令
上面几个启动和关闭 name server 和 broker 的就不再说了,
- 查看集群情况 ./mqadmin clusterList -n 127.0.0.1:9876
- 查看 broker 状态 ./mqadmin brokerStatus -n 127.0.0.1:9876 -b
172.20.1.138:10911 (注意换成你的 broker 地址) - 查看 topic 列表 ./mqadmin topicList -n 127.0.0.1:9876
- 查看 topic 状态 ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic
(换成你想查询的 topic) - 查看 topic 路由 ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic