Docker compose部署RocketMQ(单机版)

 整个工具的代码都在Gitee或者Github地址内

gitee:solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb

github:GitHub - ZeroNing/solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb

1.新增data文件夹

2.新增logs文件夹

然后在里面新建两个文件夹broker跟nameserver

3.新增conf文件夹

4.在conf文件夹新增broker.conf文件

然后broker.conf默认的官方配置在以下地址
https://github.com/apache/rocketmq/blob/master/distribution/conf/broker.conf

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.#用于集群中的 Broker 识别和管理,多个 Broker 可以属于同一个集群。
brokerClusterName = DefaultCluster
#在一个集群中标识 Broker,不同的 Broker 必须有不同的 brokerName。
brokerName = broker-a
#用于标识 Broker 的角色,0 通常表示主节点(Master),大于 0 的值用于备用节点(Slave)。
brokerId = 0
#设定在每天的凌晨 4 点(04 表示 4 AM)执行过期文件删除操作。
deleteWhen = 04
#指定消息存储文件的保留时间,超过这个时间的文件将被删除以释放存储空间。
fileReservedTime = 48
#ASYNC_MASTER 表示这个 Broker 是异步主节点,在异步复制模式下工作;它会在不等待从节点(Slave)确认的情况下继续处理新消息。
brokerRole = ASYNC_MASTER
#ASYNC_FLUSH 表示异步刷盘,即消息被写入内存后返回 ack,稍后再写入磁盘。这种方式提升性能,但可能在机器故障时丢失数据。
flushDiskType = ASYNC_FLUSH

5.新增docker compose文件

version: '3'  # Docker Compose 文件格式版本services:rmqnamesrv:image: apache/rocketmq:latest  # 使用 RocketMQ 最新版本的镜像container_name: rmqnamesrv     # 指定容器的名称为 rmqnamesrvports:- 9876:9876  # 将主机的 9876 端口映射到容器内的 9876 端口,供外部访问 NameServerrestart: always  # 如果容器崩溃或重新启动 Docker 服务,则自动重启容器privileged: true  # 以特权模式运行容器,通常用于需要访问宿主机设备的场景volumes:- ./logs/nameserver:/home/rocketmq/logs  # 将主机上的日志目录挂载到容器内- /etc/localtime:/etc/localtime  # 将宿主机的时间设置挂载到容器,以同步时间environment:- MAX_HEAP_SIZE=256M  # 设置 Java 虚拟机最大堆内存为 256MB- HEAP_NEWSIZE=128M   # 设置 Java 的新生代内存大小为 128MBcommand: ["sh","mqnamesrv"]  # 启动容器时执行的命令,用于启动 NameServerbroker:image: apache/rocketmq:latest  # 使用 RocketMQ 最新版本的镜像container_name: rmqbroker      # 指定容器的名称为 rmqbrokerports:- 10909:10909  # 将主机的 10909 端口映射到容器内的 10909 端口,供外部访问- 10911:10911  # 将主机的 10911 端口映射到容器内的 10911 端口,供外部访问restart: always  # 如果容器崩溃或重新启动 Docker 服务,则自动重启容器privileged: true  # 以特权模式运行容器volumes:- ./logs/broker:/root/logs  # 将主机上的日志目录挂载到容器内- ./data:/root/store  # 将主机上的数据目录挂载到容器内- ./conf/broker.conf:/home/rocketmq/broker.conf  # 挂载自定义的 Broker 配置文件- /etc/localtime:/etc/localtime  # 将宿主机的时间设置挂载到容器,以同步时间depends_on:- 'rmqnamesrv'  # 确保在启动 broker 之前,NameServer 已经启动environment:- NAMESRV_ADDR=rmqnamesrv:9876  # 设置 NameServer 的地址,以便 Broker 能够连接到 NameServer- MAX_HEAP_SIZE=512M  # 设置 Java 虚拟机最大堆内存为 512MB- HEAP_NEWSIZE=256M   # 设置 Java 的新生代内存大小为 256MBcommand: ["sh","mqbroker","-c","/home/rocketmq/broker.conf"]  # 启动 Broker 时使用自定义配置文件rmqdashboard:image: apacherocketmq/rocketmq-dashboard:latest  # 使用 RocketMQ Dashboard 最新版本的镜像container_name: rocketmq-dashboard  # 指定容器的名称为 rocketmq-dashboardports:- 8080:8080  # 将主机的 8080 端口映射到容器内的 8080 端口,供外部访问 Dashboardrestart: always  # 如果容器崩溃或重新启动 Docker 服务,则自动重启容器privileged: true  # 以特权模式运行容器depends_on:- 'rmqnamesrv'  # 确保在启动 Dashboard 之前,NameServer 已经启动environment:- JAVA_OPTS= -Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false# 设置 Java 虚拟机参数,指定 NameServer 地址,并禁用 VIP 通道

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

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

相关文章

Ubuntu20.4系统编译瑞芯微RK3568 SDK

Ubuntu20.4系统编译瑞芯微RK3568 SDK ubuntu20.4系统中编译SDK时,需要安装部分依赖。除了官方给出的依赖之外,要先安装如下依赖,否则会报错 sudo apt-get install libatk-bridge2.0-02.34.1-3 -y sudo apt-get install libgtk-3-dev -y完整…

CC3学习记录

🌸 CC3 之前学习到的cc1和cc6都是通过Runtime进行命令执行的,如果Runtime被加入黑名单的话,整个链子也就失效了。而cc3则是通过动态类加载机制进行任意代码执行的。 🌸 版本限制 JDK版本:8u65 Commons-Collections…

flutter字体大小切换案例 小字体,标准字体,大字体,超大字体案例

flutter字体大小切换案例 小字体&#xff0c;标准字体&#xff0c;大字体&#xff0c;超大字体案例 Android iOS设备带有选择记录 我的flutter项目版本 environment: sdk: ‘>3.4.4 <4.0.0’ 图片案例 pubspec.yaml 添加依赖 # 屏幕尺寸适配 https://github.com/OpenF…

设计模式(四)装饰器模式与命令模式

一、装饰器模式 1、意图 动态增加功能&#xff0c;相比于继承更加灵活 2、类图 Component(VisualComponent)&#xff1a;定义一个对象接口&#xff0c;可以给这些对象动态地添加职责。ConcreteComponent(TextView)&#xff1a;定义一个对象&#xff0c;可以给这个对象添加一…

django入门【05】模型介绍(二)——字段选项

文章目录 1、null 和 blank示例说明⭐ null 和 blank 结合使用的几种情况总结&#xff1a; 2、choices**choices 在 Django 中有以下几种形式&#xff1a;**&#xff08;1&#xff09; **简单的列表或元组形式**&#xff08;2&#xff09; **字典映射形式**&#xff08;3&#…

C++清除所有输出【DEV-C++】所有编辑器通用 | 算法基础NO.1

各位小伙伴们&#xff0c;上一期的保留小数位数教学够用一辈子&#xff0c;有不错的点赞量&#xff0c;可我连一个粉丝铁粉都没有&#xff0c;你愿意做我的第一个铁粉吗&#xff1f;OK废话不多说&#xff0c;开始&#xff01; 温故与知心 可能你也学过&#xff0c;且是工作者…

Android 中的 Zygote 和 Copy-on-Write 机制详解

在 Android 系统中&#xff0c;Zygote 是一个关键的进程&#xff0c;几乎所有的应用进程都是通过它 fork&#xff08;派生&#xff09;出来的。通过 Zygote 启动新进程的方式带来了显著的性能优势&#xff0c;这得益于 fork 操作和 Linux 中的 Copy-on-Write&#xff08;COW&am…

【提高篇】3.3 GPIO(三,工作模式详解 上)

目录 一,工作模式介绍 二,输入浮空 2.1 输入浮空简介 2.2 输入浮空特点 2.3 按键检测示例 2.4 高阻态 三,输入上拉 3.1 输入上拉简介 3.2 输入上拉的特点 3.3 按键检测示例 四,输入下拉 4.1 输入下拉简介 4.2 输入下拉特点 4.3 按键检测示例 一,工作模式介绍…

关于写React的一些反思和总结

这两个星期我都一直在写IT资产管理这个模块。关于这个模块&#xff0c;前端和后端都是我来处理&#xff0c;对于后端&#xff0c;我碰到了很多问题&#xff0c;但是很多问题都可以在比较短的时间内解决&#xff0c;而且不会说完全没有头绪的那种&#xff0c;这一方面源于我本身…

Mybatis中批量插入foreach优化

数据库批量入库方常见方式&#xff1a;Java中foreach和xml中使用foreach 两者的区别&#xff1a; 通过Java的foreach循环批量插入&#xff1a; 当我们在Java通过foreach循环插入的时候&#xff0c;是一条一条sql执行然后将事物统一交给spring的事物来管理&#xff08;Transa…

Thinkphp6视图介绍

一.MVC MVC 软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&#xff09; ThinkPHP6 是一个典型的 MVC 架构 控制器—控制器&#xff0c;用于将用户请求转发给相应的Model进行处理&a…

Ceph client 写入osd 数据的两种方式librbd 和kernel rbd

在Ceph存储系统中&#xff0c;客户端&#xff08;Ceph client&#xff09;写入OSD&#xff08;Object Storage Daemon&#xff09;数据确实可以通过两种主要方式&#xff1a;librbd和kernel rbd。这两种方式各有特点和适用场景&#xff0c;下面将分别进行详细介绍。 librbd方式…

基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;

目录 基于大语言模型意图识别和实体提取功能 案例背景 零知识证明过程 具体例子 具体举例(简化) 具体ZK数值例子:加密货币交易验证 定义多项式 承诺 挑战 证明构造 证明验证 结论 zkLLM Zero Knowledge Proofs for Large Language Models 在大模型验证过程中处…

Python小游戏24——小恐龙躲避游戏

首先&#xff0c;你需要安装Pygame库。如果你还没有安装&#xff0c;可以通过以下命令安装&#xff1a; 【bash】 pip install pygame 【python】代码 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 600 screen …

C++(Qt)软件调试---内存泄漏分析工具MTuner (25)

C(Qt)软件调试—内存泄漏分析工具MTuner &#xff08;25&#xff09; 文章目录 C(Qt)软件调试---内存泄漏分析工具MTuner &#xff08;25&#xff09;[toc]1、概述&#x1f41c;2、下载MTuner&#x1fab2;3、使用MTuner分析qt程序内存泄漏&#x1f9a7;4、相关地址&#x1f41…

【C#】第6章:用户界面设计 课后习题

文章目录 C# 控件知识详解一、选择题解析二、填充题解析 以下是一篇关于 C#中各类控件知识点的博客文章&#xff1a; C# 控件知识详解 在 C#编程中&#xff0c;各种控件起着至关重要的作用&#xff0c;它们为用户界面提供了丰富的交互功能。本文将详细介绍 C#中一些常见控件的…

QT_CONFIG宏使用

时常在Qt代码中看到QT_CONFIG宏&#xff0c;之前以为和#define、DEFINES 差不多&#xff0c;看了定义才发现不是那么回事&#xff0c;定义如下&#xff1a; 看注释就知道了QT_CONFIG宏&#xff0c;其实是&#xff1a;实现了一个在编译时期安全检查&#xff0c;检查指定的Qt特性…

Python期末复习 | 列表、元组、字典、集合与字符串 | 代码演示

列表、元组、字典、集合与字符串 列表 ​ 列表是Python最重要的内置对象之一&#xff0c;是包含若干元素的有序连续内存空间。当列表增加或删除元素时&#xff0c;列表对象自动进行内存的扩展或收缩&#xff0c;从而保证相邻元素之间没有缝隙。 ​ 在形式上&#xff0c;列表…

Redis下载历史版本

Linux版本&#xff1a; https://download.redis.io/releases/ Windows版本&#xff1a; https://github.com/tporadowski/redis/releases Linux Redis对应gcc版本

8 软件项目管理

软件项目管理 1、软件项目管理概念1.1 软件项目管理内容1.2 软件项目管理的4P要素人员产品过程项目 2、软件项目度量2.1 软件项目度量定义及度量方法2.2 面对规模的度量2.3 面对功能的度量UFC相关的五类组件14个复杂性调节因素 F i F_i Fi​一个功能点开发代码行数 2.4 软件估算…