idea 源码启动rocketmq

31 篇文章 0 订阅
9 篇文章 0 订阅

1.1 环境搭建

依赖工具

  • JDK :1.8+
  • Maven
  • IntelliJ IDEA

1.1.1 源码拉取

从官方仓库 https://github.com/apache/rocketmq clone或者download源码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fYmjiFpB-1652681429918)(img/源码1.png)]

源码目录结构:

  • broker: broker 模块(broke 启动进程)

  • client :消息客户端,包含消息生产者、消息消费者相关类

  • common :公共包

  • dev :开发者信息(非源代码)

  • distribution :部署实例文件夹(非源代码)

  • example: RocketMQ 例代码

  • filter :消息过滤相关基础类

  • filtersrv:消息过滤服务器实现相关类(Filter启动进程)

  • logappender:日志实现相关类

  • namesrv:NameServer实现相关类(NameServer启动进程)

  • openmessageing:消息开放标准

  • remoting:远程通信模块,给予Netty

  • srcutil:服务工具类

  • store:消息存储实现相关类

  • style:checkstyle相关实现

  • test:测试相关类

  • tools:工具类,监控命令相关实现类

1.1.2 导入IDEA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDAIxuRk-1652681429922)(img/源码2.png)]

执行安装

mvn clean install -Dmaven.test.skip=true

1.1.3 调试

创建conf配置文件夹,从distribution拷贝broker.conflogback_broker.xmllogback_namesrv.xml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oaJoiI44-1652681429924)(img/源码6.png)]

1)启动NameServer
  • 展开namesrv模块,右键NamesrvStartup.java

  • 配置ROCKETMQ_HOME

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-37y27qqR-1652681429927)(img/源码4.png)]

  • 重新启动

    控制台打印结果

The Name Server boot success. serializeType=JSON
2)启动Broker
  • broker.conf配置文件内容

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

autoCreateTopicEnable=true
namesrvAddr=192.168.1.8:9876
brokerIP1=192.168.1.8



# 存储路径
storePathRootDir=/Users/qinfuxiang/RocketMQ/data/rocketmq/dataDir
# commitLog路径
storePathCommitLog=/Users/qinfuxiang/RocketMQ/data/rocketmq/dataDir/commitlog
  • 创建数据文件夹dataDir
  • 启动BrokerStartup,配置broker.confROCKETMQ_HOME
-c /Users/qinfuxiang/IdeaProjects/rocketmq/conf/broker.conf
ROCKETMQ_HOME=/Users/qinfuxiang/IdeaProjects/rocketmq

在这里插入图片描述

3)发送消息
  • 进入example模块的org.apache.rocketmq.example.quickstart
  • 指定Namesrv地址
DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
producer.setNamesrvAddr("192.168.1.8:9876");
  • 运行main方法,发送消息
4)消费消息
  • 进入example模块的org.apache.rocketmq.example.quickstart
  • 指定Namesrv地址
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name_4");
consumer.setNamesrvAddr("192.168.1.8:9876");
  • 运行main方法,消费消息

2.1 rocketmq dashboard搭建

https://github.com/apache/rocketmq-dashboard clone

注释掉pom中两个插件

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>

<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>

启动既可以访问:http://localhost:8080/#/

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值