RocketMQ源码学习笔记:源码启动NameServer,Broker

这是本人学习的总结,主要学习资料如下

  • 马士兵教育
  • rocketMq官方文档

目录

  • 1、Overview
  • 2、NameServer
    • 2.1、源码启动NameServer
  • 3、Broker启动过程


1、Overview

这篇文章的源码的版本是release-4.9.8。在启动各个模块之前应该先对项目进行打包mvn install -Dmaven.test.skip=true
在这里插入图片描述

2、NameServer

2.1、源码启动NameServer

NameServer的代码在namesrv模块。相关启动类是namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java

在运行启动类之前需要设置一个ROCKETMQ_HOME的环境变量。运行期间RocketMQ需要的配置文件或者产生的文件都会以ROCKETMQ_HOME指定的路径作为根路径。

在这里插入图片描述
ROCKETMQ_HOME指定的目录下创建三个文件夹confstorelogs

之后从在源代码的distribution模块下复制borker.conflogback_broker.xmllogback_namesrv.xml到刚刚创建的conf文件夹下。

在这里插入图片描述

之后运行启动类,这样就算是启动成功。

在这里插入图片描述

3、Broker启动过程

在刚刚复制的broker.conf更改一些配置。主要是指定存储路径。以下是全部配置。

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSHnamesrvAddr=127.0.0.1:9876
autoCreateTopicEnable=true
storePathRootDir=/Users/fulanbin/rocketmq/store
#commitLog存储路径
storePathCommitPath=/Users/fulanbin/rocketmq/store/commitlog
#消息队列存储路径
storePathConsumeQueue=/Users/fulanbin/rocketmq/store/consumequeue
#消息索引存储路径
storePathindex=/Users/fulanbin/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/Users/fulanbin/rocketmq/store/checkpoint
#abort文件存储路径
abortFile=/Users/fulanbin/rocketmq/store/abort

broker模块中找到broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java启动类,配置环境变量和启动参数。

在这里插入图片描述

Broker启动成功。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OS复习笔记ch9-1

单处理器调度 调度类型 主要类型 长程调度:决定将哪个进程放入进程池中 中程调度:决定将哪些进程部分或者全部放入内存中 短程调度:决定哪个空闲进程上处理机 I/O调度:决定哪个进程的I/O请求被可用的I/O设备处理 处理器调度和进…

jupyter notebook中使用不同的anaconda环境及常用conda命令

conda命令 在jupyter notebook中使用不同的anaconda环境其他常用conda命令 在jupyter notebook中使用不同的anaconda环境 创建环境 myenvname 需替换为自己的环境名称 conda create --name myenvname python3.7激活环境 conda activate myenvname 在该环境中安装Jupyter N…

springboot原理篇-springboot

springboot原理篇-springboot(三) 一、起步依赖 虽然我是直接学习springboot的,没有经历过使用spring开发,但是鉴于我还学习了c,对依赖这方面真的一言难尽!springboot起步依赖解决依赖问题我实在是羡慕! 直…

第 18章 安全架构设计理论与实践

安全架构是架构面向安全性方向上的一种细分,可关注三个安全方面,即产品安全架构、安全技术体系架构和审计架构,这三个方面可组成三道安全防线。本章主要分析安全威胁、介绍安全模型,在此基础上,就系统、信息、网络和数…

从0开始理解DevOps

目录 一、DevOps背景 二、DevOps介绍 DevOps 组成 三、Jenkins Jenkins 工作流程 四、云原生与DevOps 相信你一定听过 DevOps 这个词,那它到底是什么呢?为什么越来越多的互联网企业都在追随使用它?它与云原生有什么关系?本文将…

VRChat 2024年裁员原因与背景深度分析

VRChat,作为2022年元宇宙/VR社交领域的巨头,近期在2024年宣布裁员计划,其背后原因和背景值得业界尤其是仍在纯元宇宙虚拟空间创业的同仁们重点关注。 一、创始人决策失误 根据CEO的邮件披露,VRChat的创始人因缺乏经验和过度自信…

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦,使得它们可以独立扩展。 在桥接模式中,通常包含以下四个…

MySQL之优化服务器设置(四)

优化服务器设置 InnoDB的IO配置 双写缓冲(Doublewrite Buffer) InnoDB用双写缓冲来避免页没写完整所导致的数据损坏。当一个磁盘写操作不能完整地完成时,不完整的页写入就可能发生,16KB的页可能只有一部分被写到磁盘上。有多种多样的原因(崩溃、Bug&am…

【纯干货级教程】深度学习根据loss曲线进行分析调参

相信很多刚刚接触目标检测系列算法小伙伴跑深度学习算法时会有许多困惑,比如训练得出的loss曲线有什么意义?训练的一些参数要如何设置选择?选择哪个算法模型作为baseline、选择哪个参数量/复杂度/深度的模型进行训练最为合适? 本…

生成和链接动态库

生成和链接动态库 在Linux和windows中的动态库是不一样的 linux 的动态库不需要设置导入导出符号,以.os为后缀windows中需要设置导入和导出符号.lib,以及动态库的后缀是dll 1、windows环境 1、创建动态库 项目结构 CMakeLists.txt cmake_minimum_re…

使用Ventoy 替代Win_To_Go更好的随身系统

Ventoy支持在物理机上直接启动安装了 Linux/Windows 系统的 磁盘映像文件 。 系统是在真实物理机上运行,并不是在虚拟机里运行,没有性能损失。支持 Legacy BIOS 和 UEFI 模式。支持从任意磁盘启动磁盘映像。 Windows 支持固定大小以及动态扩展类型的 VH…

设计模式-代理模式Proxy(结构型)

代理模式(Proxy) 代理模式是一种结构型模式,它可以通过一个类代理另一个类的功能。代理类持有被代理类的引用地址,负责将请求转发给代理类,并且可以在转发前后做一些处理 图解 角色 抽象主题(Subject&…

光功率计传感器

光探测仪表: 激光功率计探头按照不同的原理和材料分为热电堆型、光电二极管型以及包含两种传感器的综合探头, 激光能量计则有热释电传感器和热电堆传感器探头 热释电效应传感器: 热释电传感器的工作原理主要是基于热释电效应。当物体处于不同温度时,会发射出不同强度的红…

深入剖析 Laravel 框架:构建高效PHP应用的最佳实践

引言 随着互联网的高速发展,PHP 作为一门广泛使用的服务器端脚本语言,始终备受开发者青睐。而在众多 PHP 框架中,Laravel 凭借其优雅的设计和高效率,成为了构建现代 Web 应用的热门选择。本文将从零开始,探讨如何使用 …

镍电解阳极液深度除铜树脂

摘要&#xff1a;HP686适用于以下行业中的铜、镍等金属选择性吸附&#xff1a; • 可用于锂电正极材料、锂电回收等生产过程中回收镍、铜&#xff0c;料液纯化 • 可在酸性条件下 (pH< 2) &#xff0c;吸附铜离子 • 钴电解液中去除镍离子&#xff0c;纯化电解液 • 可在…

面向对象前置(java)

文章目录 环境配置相关如何在 cmd 任何路径下中 使用 javac(编译) 和 java(运行) 指令path变量的含义javac(编译&#xff09;使用java(运行&#xff09;的使用public class 和 class 的区别 标识符命名规则命名规范 字面量字符串拼接变量的作用域转移字符类型转换接收用户键盘输…

公差基础-配合(互换性和测量基础)-2

过盈配合&#xff1a; 配合的种类&#xff1a; 三种&#xff1a;间隙&#xff0c;过渡&#xff0c;过盈配合&#xff1a; 间隙配合&#xff1a; 过盈配合&#xff1a; 过渡配合&#xff1a; 间隙量&#xff1a;最大间隙减去最小间隙&#xff1b; 配合的公差怎么算&#xff1a…

江协科技STM32学习- 2安装Keil5-MDK

本文是根据哔哩哔哩网站上“江协科技STM32”视频的学习笔记&#xff0c;在这里会记录下江协科技STM32开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技STM32教学视频和链接中的内容。 引用&#xff1a; STM32入门教程-2023版 细致讲解 中文字幕_哔哩哔哩…

TypeScript入门教程

今天&#xff0c;给大家分享一个自己总结的超详细的TypeScript入门教程电子书。从TypeScript的基础知识开始讲解&#xff0c;包括数据类型、变量、运算符、条件语句、循环结构等基本概念。接着&#xff0c;详细介绍TypeScript中的函数、类和接口等高级特性&#xff0c;以及如何…

Oracle阅读Java帮助文档

进入到Help Center 选择Java 查看Java SE [version]对应版本相关的内容 查看其它版本 查看Java11 javac等相关参数 目录查看java相关命令