docker搭建rocketmq集群

单机搭建

1  拉取rocketMq镜像


    docker pull rocketmqinc/rocketmq:4.3.2

2  创建挂在目录


    mkdir -p /mydata/rocketmq/data/namesrv/logs /mydata/rocketmq/data/namesrv/store 
    mkdir -p /mydata/rocketmq/data/broker/logs /mydata/rocketmq/data/broker/store
    mkdir -p /mydata/rocketmq/data/conf

3  配置broker配置文件


    cd /mydata/rocketmq/data/conf
    
    vi broker.conf

    输入一下内容:
    # 所属集群名称,如果节点较多可以配置多个
    brokerClusterName = DefaultCluster
    #broker名称,master和slave使用相同的名称,表明他们的主从关系
    brokerName = broker-a
    #0表示Master,大于0表示不同的slave
    brokerId = 0
    #表示几点做消息删除动作,默认是凌晨4点
    deleteWhen = 04
    #在磁盘上保留消息的时长,单位是小时
    fileReservedTime = 48
    #有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
    brokerRole = ASYNC_MASTER
    #刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
    flushDiskType = ASYNC_FLUSH
    #namesrv地址
    namesrvAddr=192.168.56.102:9876
    # 设置broker节点所在服务器的ip地址,也就是centosOS7的服务ip
    brokerIP1 = 192.168.56.102
    # 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
    diskMaxUsedSpaceRatio=95

4  启动nameserver服务


    docker run -d --name rocketmq_nameserver -p 9876:9876 -v /mydata/rocketmq/data/namesrv/logs:/root/logs -v /mydata/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.3.2 sh mqnamesrv
    
    sh mqnamesrv ---启动nameserver服务

5  启动broker服务


    docker run -d --name rmqbroker-m -p 10911:10911 -p 10909:10909 -v /mydata/rocketmq/data/broker/logs:/root/logs -v /mydata/rocketmq/data/broker/store:/root/store -v /mydata/rocketmq/data/conf/broker.conf:/opt/rocketmq-4.3.2/conf/broker.conf  rocketmqinc/rocketmq:4.3.2 sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf

6  拉取rocketmq-console镜像


    docker pull styletang/rocketmq-console-ng:1.0.0

    - -link rocketmq_nameserver:namesrv       和rocketmq_nameserver容器通信(跟nameserv容器名称对应)
    -e “NAMESRV_ADDR=namesrv:9876”    指定namesrv的地址为本机namesrv的ip地址:9876
    sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf    指定配置文件启动broker节点


7  启动rocketmq-console服务


    docker run -d --name rocketmq_console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.56.102:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 styletang/rocketmq-console-ng:1.0.0
    

集群搭建

1  准备2台服务器:

192.168.56.102,192.168.56.103

2  102上操作


  a  拉取rocketMq镜像


    docker pull rocketmqinc/rocketmq:4.3.2
  


  b  创建挂在目录


    mkdir -p /mydata/rocketmq/data/namesrv/logs /mydata/rocketmq/data/namesrv/store 
    mkdir -p /mydata/rocketmq/data/broker/logs /mydata/rocketmq/data/broker/store
    mkdir -p /mydata/rocketmq/data/conf

  c  配置broker配置文件


         cd /mydata/rocketmq/data/conf
    
        vi broker.conf

        输入一下内容:
       # 所属集群名称,如果节点较多可以配置多个
       brokerClusterName = DefaultCluster
       #broker名称,master和slave使用相同的名称,表明他们的主从关系
       brokerName = broker-a
       #0表示Master,大于0表示不同的slave
       brokerId = 0
       #表示几点做消息删除动作,默认是凌晨4点
       deleteWhen = 04
       #在磁盘上保留消息的时长,单位是小时
       fileReservedTime = 48
       #有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
       brokerRole = ASYNC_MASTER
    #刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
    flushDiskType = ASYNC_FLUSH
    #namesrv地址
    namesrvAddr=192.168.56.102:9876
    # 设置broker节点所在服务器的ip地址,也就是centosOS7的服务ip
    brokerIP1 = 192.168.56.102
    # 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
    diskMaxUsedSpaceRatio=95


  d  启动nameserver服务


        docker run -d --name rocketmq_nameserver -p 9876:9876 -v /mydata/rocketmq/data/namesrv/logs:/root/logs -v /mydata/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.3.2 sh mqnamesrv

  e 启动broker服务


         docker run -d --name rmqbroker-s -p 10911:10911 -p 10909:10909 -v /mydata/rocketmq/data/broker/logs:/root/logs -v /mydata/rocketmq/data/broker/store:/root/store -v /mydata/rocketmq/data/conf/broker.conf:/opt/rocketmq-4.3.2/conf/broker.conf  rocketmqinc/rocketmq:4.3.2 sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf

   f  拉取rocketmq-console镜像


    docker pull styletang/rocketmq-console-ng:1.0.0

    - -link rocketmq_nameserver:namesrv       和rocketmq_nameserver容器通信(跟nameserv容器名称对应)
    -e “NAMESRV_ADDR=namesrv:9876”    指定namesrv的地址为本机namesrv的ip地址:9876
    sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf    指定配置文件启动broker节点
  g  启动rocketmq-console服务
    docker run -d --name rocketmq_console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.56.102:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 styletang/rocketmq-console-ng:1.0.0

3 103 上操作


  a  拉取rocketMq镜像


    docker pull rocketmqinc/rocketmq:4.3.2
  


  b  创建挂在目录


    mkdir -p /mydata/rocketmq/data/broker/logs /mydata/rocketmq/data/broker/store
    mkdir -p /mydata/rocketmq/data/conf
  


  c  配置broker配置文件


         cd /mydata/rocketmq/data/conf
    
    vi broker.conf

    输入一下内容:
    # 所属集群名称,如果节点较多可以配置多个
    brokerClusterName = DefaultCluster
    #broker名称,master和slave使用相同的名称,表明他们的主从关系
    brokerName = broker-b
    #0表示Master,大于0表示不同的slave
    brokerId = 0
    #表示几点做消息删除动作,默认是凌晨4点
    deleteWhen = 04
    #在磁盘上保留消息的时长,单位是小时
    fileReservedTime = 48
    #有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
    brokerRole = ASYNC_MASTER
    #刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
    flushDiskType = ASYNC_FLUSH
    #namesrv地址
    namesrvAddr=192.168.56.102:9876
    # 设置broker节点所在服务器的ip地址,也就是centosOS7的服务ip
    brokerIP1 = 192.168.56.103
    # 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
    diskMaxUsedSpaceRatio=95


    d 启动broker服务


         docker run -d --name rmqbroker-s -p 10911:10911 -p 10909:10909 -v /mydata/rocketmq/data/broker/logs:/root/logs -v /mydata/rocketmq/data/broker/store:/root/store -v /mydata/rocketmq/data/conf/broker.conf:/opt/rocketmq-4.3.2/conf/broker.conf  rocketmqinc/rocketmq:4.3.2 sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf

4  此时登录控制界面查看:


     http://192.168.56.102:8080

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

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

相关文章

使用LLM在KG上进行复杂的逻辑推理10.12

使用LLM在KG上进行复杂的逻辑推理 摘要介绍相关工作 摘要 在知识图谱上进行推理是一项具有挑战性的任务,这需要深度理解实体之间复杂的关系和它们关系的逻辑。而当前的方法通常依赖于学习 几何形状 以将实体嵌入到向量空间中进行逻辑查询操作,但在复杂查…

必知必会的22种设计模式(GO语言)

日常工作中免不了使用设计模式,那么你使用了哪些设计模式呢? 设计模式是什么? 设计模式是一种在软件设计中对常见问题的通用解决方案。 它们是经过验证的、可重用的设计思想,可以帮助解决开发过程中遇到的各种问题。 设计模式…

三次挥手和四次握手

TCP建立连接(三次握手) 经过DNS域名解析后,获取到了服务器的IP地址,在获取到IP地址后,便会开始建立一次连接,这是由TCP协议完成的,主要通过三次握手进行连接。 第一次握手: 建立连…

整理mongodb文档:副本集成员可以为偶数

个人博客 整理mongodb文档:副本集成员可以为偶数 想了下,仲裁节点还是不想直接说太多,怕有的同学想太多,且本身副本集就偏向运维的,新手基本也没什么权限操作,就不多废话了。 文章概叙 文章从MongoDB是否可以用偶数…

Hi3516DV500 SVP_NNN添加opencv库记录

默认没有带opencv库,但是实际项目中需要用到opencv库,因此添加一下此库; 1:编译opencv源码,这里具体可以参考 海思Hi3516移植opencv以及错误调试_海思hi3516摄像头开发-CSDN博客 2:在工程的根目录下新建…

地下城堡3魂之诗阵容搭配攻略

在地下城堡3魂之诗游戏中,拥有一个合理搭配的阵容非常关键,可以让角色能力发挥最大化。以下是建议的阵容搭配及攻略: 关注【娱乐天梯】,获取内部福利号 1.核心成员(2名) 在阵容中选择两个输出型角色作为核心成员,他们的…

SettingsView/设置页 的实现

1. 创建设置视图 SettingsView.swift import SwiftUI/// 设置页面 struct SettingsView: View {/// 环境变量,呈现方式:显示或者关闭Environment(\.presentationMode) var presentationMode/// 默认网址let defaultURL URL(string: "https://www.…

v-model绑定input、textarea、checkbox、radio、select

1.input <div><!-- v-model绑定input --><input type"text" v-model"message"><h2>{{message}}</h2></div><script>const App{template:#my-app,data() {return {message:Hello World,}},}Vue.createApp(App).…

扁圆头带榫螺栓

声明 本文是学习GB-T 15-2013 扁圆头带榫螺栓. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了螺纹规格为M6&#xff5e;M24、 产品等级为C 级的扁圆头带榫螺栓。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是…

IP真人识别方法与代理IP检测技术

随着互联网的发展&#xff0c;IP地址在网络安全和数据分析中扮演着重要的角色。为了维护网络的安全性和识别真实用户&#xff0c;IP地址的真实性和来源成为了一个关键问题。 什么是IP真人识别&#xff1f; IP真人识别是一种技术&#xff0c;旨在确定IP地址背后的用户是否为真实…

【Node.js】路由

基础使用 写法一&#xff1a; // server.js const http require(http); const fs require(fs); const route require(./route) http.createServer(function (req, res) {const myURL new URL(req.url, http://127.0.0.1)route(res, myURL.pathname)res.end() }).listen…

Java内存空间(学习随笔)

1、程序运行中栈可能会出现两种错误 StackOverFlowError&#xff1a; 若栈的内存大小不允许动态扩展&#xff0c;那么当线程请求栈的深度超过当前 Java 虚拟机栈的最大深度的时候&#xff0c;就抛出 StackOverFlowError 错误。OutOfMemoryError&#xff1a; 如果栈的内存大小可…

Zookeeper-JavaApI操作

JavaApI操作 JavaApI操作1) Curator 介绍2) Curator API 常用操作a) 建立连接与CRUD基本操作b) Watch事件监听c) 分布式锁c.1) 介绍c.2) Zookeeper分布式锁原理c.3) 案例&#xff1a;模拟12306售票 JavaApI操作 1) Curator 介绍 Curator 是 Apache ZooKeeper 的Java客户端库。…

工作杂记-YUV的dump和read

工作小记-YUV的dump和read 工作杂记-YUV的dump和read利用dump生成图片 yuv2imgyuv2img代码 工作杂记-YUV的dump和read 工作中涉及到模型验证相关的工作&#xff0c;这里是三个模型的共同作用&#xff0c;在感知模型读取图片的时候&#xff0c;把输入替换成自己给定的输入&…

STM32--WDG看门狗

文章目录 WDG简介IWDGIWDG的超时计算WWDGWWDG超时和窗口值设定独立看门狗工程WWDG工程 WDG简介 WDG看门狗&#xff08;Watchdog Timer&#xff09;是一种常见的硬件设备&#xff0c;在STM32F10系列中&#xff0c;有两种看门狗&#xff0c;分别是独立看门狗和窗口看门狗&#x…

Contextual Transformer Networks for Visual Recognition

Contextual Transformer Networks for Visual Recognition 1. 摘要2. 目的3. 网络设计 代码地址 1. 摘要 Transformer with self-attention has led to the revolutionizing of natural language processing field, and recently inspires the emergence of Transformer-style …

基于VUE的图书借阅管理系统的设计与实现

目录 一、摘要 二、技术描述 三、部分截图 四、获取方式 一、摘要 随着我国经济的高速发展&#xff0c;人们对图书的需求也愈发旺盛&#xff0c;而传统图书管理模式存在以下弊端&#xff1a;信息存储和分类操作不够高效&#xff0c;导致查找书籍困难&#xff1b;借还书流程…

Floorplanning with Graph Attention

Floorplanning with Graph Attention DAC ’22 目录 Floorplanning with Graph Attention摘要1.简介2.相关工作3.问题公式化4. FLORA的方法4.1 解决方案概述4.2 C-谱聚类算法 4.3 基于GAT的模型4.4 合成训练数据集生成 摘要 布图规划一直是一个关键的物理设计任务&#xff0…

基于SSM的网络安全宣传网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

笔训【day4】

目录 选择题 1、进制 格式 2、 数组名在&和sizeof后&#xff0c;表数组本身 3、求二维数组某元素地址 ​编辑 ​编辑 4、x x & (x-1) 二进制位1的个数 ​编辑 5、斐波那契递归次数 编程题 1、计算糖果 2、进制转换 选择题 1、进制 格式 十进制转二进制就除…