前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ学习第一步之源码构建

RocketMQ学习第一步之源码构建

作者头像
沁溪源
发布2020-09-08 10:31:34
4590
发布2020-09-08 10:31:34
举报
文章被收录于专栏:沁溪源沁溪源

这里写目录标题

  • 绪论
  • 源码构建
    • 1.clone
    • 2. 构建
    • 3.配置
      • 3.1配置namesrv
      • 3.2新建文件夹
      • 3.3 配置broker
      • 3.4 配置producer
      • 3.5 配置 consumer
    • 4.启动

绪论

最近溪源在学习dubbo的相关API机制实践,如:负载均衡、服务分组、本地存根等等…一方面是dubbo官网文档给出了详细的介绍和demo,另一方面由于自己时间方面原因(自己现在也需要学习各种技术栈),没有整理相关实践总结。但是后面一定会整理出相关的实践总结。 今天主要给大家介绍一下rocketmq源码本地化构建,也是由于溪源项目中暂时未使用该技术栈,如果自己想要学习和精进,那只能阅读一下源码和了解相关机制啦! 好啦好啦~不再絮叨啦,无实际作用,下面进入今天的正题。

源码构建

首先,分享出rocketMQ相关资料: 项目地址:https://github.com/apache/rocketmq 中文文档:https://github.com/apache/rocketmq/tree/master/docs/cn

在这里插入图片描述
在这里插入图片描述

1.clone

源码本地化构建肯定是clone啦,大家都明白。 命令 : git clone https://github.com/apache/rocketmq.git 或者大家可以使用idea直接New->Version Control

在这里插入图片描述
在这里插入图片描述

2. 构建

项目克隆结束以后,输入命令构建:mvn clean install -U -DskipTests 但是但是~会那么轻松让我们构建成功吗??哈哈,惊喜终于来了—[ERROR]

在这里插入图片描述
在这里插入图片描述
  • 解决方案 Error:不再支持源选项 6。请使用 7或更高版本。 修改pom.xml文件中plugin
代码语言:javascript
复制
<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.5.1</version>
      <configuration>
       <source>1.8</source>
       <target>1.8</target>
      </configuration>
</plugin>
在这里插入图片描述
在这里插入图片描述

修改结束,再次输入上面的构建命令,静静地等待构建、下载依赖等~

在这里插入图片描述
在这里插入图片描述

3.配置

构建完成之后,下面开始着手配置项。

3.1配置namesrv

在这里插入图片描述
在这里插入图片描述

具体设置如图:

在这里插入图片描述
在这里插入图片描述

这里最重要的一步就是设置环境变量: ROCKETMQ_HOME=/Users/***/rocketmq 目录结构根据自己实际情况新建文件夹,后面会用到(本文中溪源以rocketmq为例)。

3.2新建文件夹

以下新建文件夹与上面配置的环境变量目录保持一致,例如:/Users/***/rocketmq,以下目录均基于rocketmq目录建立。

  1. rocketmq中新建conf、store、logs
在这里插入图片描述
在这里插入图片描述
  1. 配置conf
在这里插入图片描述
在这里插入图片描述

将distribution目录中conf中的broker.conf、logback_broker.xml、logback_namesrv.xml文件复制到上一步新建文件夹conf中

  1. 修改broker.conf文件 修改上步复制的broker.conf文件。新增属性值:将该文件中的存放路径需要改成自己配置的路径。
代码语言:javascript
复制
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
##以下属于自己新增配置项
#nameserAddr地址,集群用分号;分割
namesrvAddr=127.0.0.1:9876
#存储路径
storePathRootDir=/Users/***/rocketmq/store
#commitLog存储路径
storePathCommitLog=/Users/***/rocketmq/store/commitLog
#消息队列存储路径
storePathConsumeQueue=/Users/***/rocketmq/store/consumeQueue
#消息索引存储路径
storePathIndex=/Users/***/rocketmq/store/index
#checkPoint文件存储路径
storeCheckpoint=/Users/***/rocketmq/store/checkpoint
#abort文件存储路径
abortFile=/Users/***/rocketmq/store/abort
  1. 修改logback_namesrv.xml配置: 需要${user.home}替换成自己上一步配置的文件夹路径;例如/Users/***/rocketmq/
在这里插入图片描述
在这里插入图片描述

3.3 配置broker

  1. program参数:-c /Users/***/rocketmq/conf/broker.conf
  2. 环境变量:ROCKETMQ_HOME=/Users/***/rocketmq

以上路径均属于上面自定义配置文件路径。 具体配置如图:

在这里插入图片描述
在这里插入图片描述

3.4 配置producer

在这里插入图片描述
在这里插入图片描述

3.5 配置 consumer

在这里插入图片描述
在这里插入图片描述

4.启动

经历上面的一番配置后,最后一步就是启动生产者和消费者啦。 先提前说一下启动顺序:

  1. 启动org.apache.rocketmq.namesrv.NamesrvStartup
  2. 启动org.apache.rocketmq.broker.BrokerStartup
  3. 启动生产者org.apache.rocketmq.example.quickstart.Producer
  4. 启动消费者org.apache.rocketmq.example.quickstart.Consumer 如图:消费者已经成功消费消息
在这里插入图片描述
在这里插入图片描述

到此,源码本地化构建已经成功啦,接下来就是熟悉rocketmq中的各种机制啦~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这里写目录标题
  • 绪论
  • 源码构建
    • 1.clone
      • 2. 构建
        • 3.配置
          • 3.1配置namesrv
          • 3.2新建文件夹
          • 3.3 配置broker
          • 3.4 配置producer
          • 3.5 配置 consumer
        • 4.启动
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档