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

news2024/11/27 10:33:22

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

  • 马士兵教育
  • 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_FLUSH

namesrvAddr=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.coloradmin.cn/o/1825761.html

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

相关文章

大数据实训项目(小麦种子)-04、大数据实训项目JavaWeb环境搭建

文章目录 前言运行前准备工作1、安装Hadoop3.1.0配置winutils原因描述配置方式注意点(hadoop.dll拷贝System32目录下) 2、hive运行报错(The dir: /tmp/hive on HDFS should be writable. ) 项目环境搭建参考资料 前言 博主介绍&a…

【类脑计算】突触可塑性模型之Hebbian学习规则和STDP

1 引言 突触可塑性 (Synaptic plasticity)指经验能够修改神经回路功能的能力。特指基于活动修改突触传递强度的能力,是大脑适应新信息的主要调查机制。分为短期和长期突触可塑性,分别作用于不同时间尺度,对感官刺激的短期适应和长期行为改变…

unity数独游戏

using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class MainMenuPanel : MonoBehaviour {public Button btnPlay; // 开始按钮public Slider sldDifficulty; // 难度滑动条private void Awake(){/…

省去烦恼!轻松实现一台电脑登录多个微信号的秘诀揭秘!

你知道如何在同一台电脑上登录多个微信号,并实现聚合聊天吗? 今天,我将分享一个多微管理神器——个微管理系统,帮助你解决这一问题! 1、多号同时登录,聚合聊天 无论你有多少个微信号,都可以一…

畅想智能美颜工具的未来:美颜SDK技术详解

美颜SDK作为技术的核心,承载了美颜工具的实现和创新。本篇文章,小编将深入探讨美颜SDK技术的细节。 一、技术原理 美颜SDK是一种软件开发工具包,集成了一系列图像处理算法和技术,旨在实现对照片和视频中人物的实时美化。其主要技…

Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!

需要将文件复制到虚拟机! “大家好,有谁知道Hyper-V怎么将文件复制到虚拟机吗?我有一些文件,想要从主机中复制进虚拟机中,但是我不知道该怎么操作,有谁可以帮帮我吗?谢谢。” Hyper-V虚拟机可…

家庭海外仓:优势,挑战以及如何利用海外仓系统提升效率

家庭海外仓凭借其灵活,服务优良的特点,一直受到很多跨境电商企业的欢迎,不过,在当今的市场竞争之下,家庭海外仓也同样面临一些挑战,今天我们就来系统的分析一下家庭海外仓应该如何通过海外仓系统的引入来解…

Web期末复习指南(2w字总结)

前言:本文旨在梳理Web技术常包含的内容,阅读完整篇文章后会对整体有个系统的认知,从前端的HTML到后端的MySql,对于大概试题中可能会涉及的地方都有所分析,通篇提供了许多代码案例,供读者更好的理解。对于一…

Oracle阅读Java帮助文档

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

能耗分析与远程抄表是什么?

一、引言 在21世纪的数字化时代,能耗分析和远程抄表已成为现代能源管理的重要组成部分。这两项技术不仅提高了能源效率,还为企业和个人提供了更精细的能源使用数据,从而实现更科学的节能减排。 二、能耗分析的深度洞察 能耗分析是通过收集…

一文带你搞清楚AI领域的高频术语!RAG、Agent、知识库、向量数据库、知识图谱、Prompt...都是在讲啥?

随着AI人工智能技术的不断发展,一些领域有关的概念和缩写总是出现在各种文章里,像是Prompt Engineering、Agent 智能体、知识库、向量数据库、RAG 以及知识图谱等等,但是这些技术和概念也的的确确在AI大模型的发展中扮演着至关重要的角色。这…

java:spring【AnnotationMetadata】的简单使用例子

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89435385 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

设计模式-装饰器模式Decorator(结构型)

装饰器模式(Decorator) 装饰器模式是一种结构模式&#xff0c;通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能&#xff0c;是现有类的包装。 图解 角色 抽象组件&#xff1a;定义组件的抽象方法具体组件&#xff1a;实现组件的抽象方法抽象装饰器&…

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

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

计算机网络(9) TCP超时重传以及滑动窗口流量控制

一.确认机制与流量控制 引用&#xff1a;滑动窗口&#xff0c;TCP的流量控制机制 | 小菜学网络 确认机制 由于 IP 协议缺乏反馈机制&#xff0c;为保证可靠性&#xff0c;TCP 协议规定&#xff1a;当接收方收到一个数据后&#xff0c;必须回复 ACK 给发送方。这样发送方就能得…

Python学习打卡:day04

day4 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day428、while 循环的嵌套应用29、while 循环案例 — 九九乘法表补充知识示例&#xff1a;九九乘法表 30、for 循环基本语法while 和 for 循环对比f…

react 自定义Hook的实现

// 问题&#xff1a;当前组件耦合在一起的不方便复用 // 解决思路&#xff1a;自定义hook// 1。封装use打头的函数 // 2.在函数体内封装我们可复用的逻辑&#xff08;只要是可复用的都行&#xff09; // 3.要把组件中用到的状态&#xff08;变量&#xff09;或者回调return出去…

使用tkinter创建带有图标的菜单栏

使用tkinter创建带有图标的菜单栏 效果代码代码解析创建主窗口加载图标创建菜单栏添加文件菜单添加带图标的菜单项 Tkinter 的默认菜单外观较为简单&#xff0c;可以通过自定义和添加图标&#xff0c;让菜单显示更好看。 效果 代码 import tkinter as tk from tkinter import …

父亲节|“鞋”守一生,致敬那些年父亲的默默付出

父亲节&#xff0c;是一个感谢父亲的节日。普遍认为的日期是每年6月的第三个星期日&#xff0c;在这一天世界上有52个国家和地区在过父亲节。同时注重孝道也是我们中华民族的传统文化。 在岁月的长河中&#xff0c; 父亲如同那坚实的基石&#xff0c; 承载着家庭的重担&#…

N3 中文文本分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊# 前言 前言 前面学习了相关自然语言编码&#xff0c;这周进行相关实战 导入依赖库和设置设备 import torch import torch.nn as nn import torchvision fro…