搭建rocketmq单机环境


年已过半,发现很久没有写博客了,今年打算博客写满100篇,最近太懒了,一直没有更新,今天写点和mq相关的学习笔记,作为面试和必须掌握的一门消息队列工具吧(我基本是按照官方的做法操作和介绍进行的“翻译”,提前说一句,别和我一样安装了多个jdk,是真的伤,走了不少坑)

安装:
- 环境:macos 10.13.4,jdk1.8,maven 3.5
- 安装参考官方意见:

https://rocketmq.apache.org/docs/quick-start/
  • 下载地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip
  • 下载后解压,编译文件(前提是你的java和maven环境必须搭建好,我以往的博客有教程,也可以去别儿去搭建,在此就不做赘述了),很顺利,我解压基本没有问题,maven命令基本就是打包编译跳过测试单元,不跳过测试单元的话,编译时间会比较长
> 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
1.   > nohup sh bin/mqnamesrv &
这时候会在../rocketmq-all-4.2.0/distribution/target/apache-rocketmq/下面多一个nohup.out文件
有些时候就会出现一些问题,可以:
cat nohup.out 看看具体有什么问题:
比如:ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
呵呵了,顺手一个java -version,没错啊,我电脑装了两个版本的jdk啊,但是也不影响啊,修改bin/runserver.sh 文件:

改完启动,看看log:
The Name Server boot success. serializeType=JSON
表示成功了
参考https://blog.csdn.net/u013404093/article/details/78114453
  • 开启Broker
nohup sh bin/mqbroker -n localhost:9876 &
很尴尬,坑都让我走了,又是java环境问题,继续,修改runbroker.sh文件,仿照上面的方法。
继续,wc,Cannot open file /dev/shm/mq_gc_pid3407.log due to No such file or directory
查看log:
tail -f ~/logs/rocketmqlogs/broker.log 
出现register broker to name server localhost:9876 OK
ok就不管那么多是吧,证明我们成功了,继续!
  • 收/发信息
在收发信息前,我们必须把NameServer的地址告诉告诉客户端,rocketmq提供了多种方式,简单起见,我们使用环境变量NAMESRV_ADDR
在运行下面sh文件的时候,记得,和之前一样,修改sh文件(心中无数cnm)

 > export NAMESRV_ADDR=localhost:9876
 > sh bin/tools.sh sh tools.sh org.apache.rocketmq.example.quickstart.Producer SendResult [status=ok,msgId=1]
刷刷出现一排的消息,别慌,继续:
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 上面是开始消费者,刷刷刷一排的数据

 建议打开两个窗口,一个发消息,一个接受消息,设置环境变量的时候,如果你不是设置成JAVA_HOME那种,你每次启动生产者的时候你都要再输入一次。
 ok,基本的环境搭建和启动生产消费已经实现了,接下来就是关闭了
  • 关闭Broker
和写代码一样,后开先关
 sh bin/mqshutdown broker
  • 关闭Servers
sh bin/mqshutdown namesrv

猜你喜欢

转载自blog.csdn.net/u014449653/article/details/80747184