1. 准备
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
64bit OS, Linux/Unix/Mac
64bit JDK 1.8+;
Maven 3.2.x
2.下载和构建
下载 4.2.0 源代码版本地址:http://mirrors.hust.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip
现在执行以下命令来解压缩 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
3.启动mqnamesrv 、mqbroker
> nohup sh bin/mqnamesrv &> tail -f ~/logs/rocketmqlogs/namesrv.log运行成功的日志输出:The Name Server boot success...官方启动 broker 方式如下:> nohup sh bin/mqbroker -n localhost:9876 &
经测试这样是不行的,要在后面加上设置 : autoCreateTopicEnable=true 。最终运行命令为:(nohup 记录日志,& 表示后台运行 )> nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &> tail -f ~/logs/rocketmqlogs/broker.log 运行成功的日志输出:The broker[%s, 172.30.30.233:10911] boot success...
4.修改配置、发送和接收消息
设置环境变量> export NAMESRV_ADDR=localhost:9876启动生产者> sh bin/tools.sh org.apache.rocketmq.example.quickstart.ProducerSendResult [sendStatus=SEND_OK, msgId= ...启动消费者> sh bin/tools.sh org.apache.rocketmq.example.quickstart.ConsumerConsumeMessageThread_%d Receive New Messages: [MessageExt...
5.关闭服务
> 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
6.踩过的坑
1)报错: There is insufficient memory for the Java Runtime Environment to continue
解决方式: 解决There is insufficient memory for the Java Runtime Environment to continue
2)报错:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
解决方式:解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
3)报错:Could not find or load main class org.apache.rocketmq.example.quickstart.Producer
解决方式:解决:Could not find or load main class org.apache.rocketmq.example.quickstart.Producer
参考官方文档:https://rocketmq.apache.org/docs/quick-start/