docker搭建rocketmq集群

news2024/9/22 19:36:42

单机搭建

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.coloradmin.cn/o/1080148.html

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

相关文章

3D WEB轻量化引擎HOOPS:促进CAD软件的创新与协作

CAD软件一直以来都在现代工程、建筑、制造和设计领域发挥着至关重要的作用。在数字时代,CAD软件的开发者不断追求提高软件性能、增加功能和改善用户体验,在这一努力中,HOOPS技术(高度优化的面向对象并行软件)滑块露头角…

vmware安装ubuntu22.04无法和window主机拷贝文件处理

背景 vmware安装ubuntu系统一般安装了vmware tools就能实现和主机相互拷贝文件,但是ubuntu22.04失败了,原因是新版本呢ubuntu(22.04,20.04等)默认启用了新版的窗口系统Wayland而非原来的X11,而vmware tool…

AI情绪检测器:准确检测并解读人类情绪

一、前言 情绪分析在数字世界中被广泛应用,用于评估消费者对产品或品牌的情绪。然而,在线下环境中,用户与品牌和产品进行互动的场所(如零售店、展示厅)仍然面临着自动测量用户反应的挑战。使用人工智能进行面部表情情…

什么是国密证书?

国密证书是指中国自主研发的密码算法和加密技术所生成的数字证书。它是为了保护国家信息安全而开发的一种电子证书标准。 国密证书采用了国际上通用的X.509v3标准,但具有自己独特的密码算法和密钥长度。这些算法和密钥长度在国际上被广泛接受并认可,同时…

【PPT制作】基础篇

文章目录 一、PPT制作必要的基础设置1.1 自动保存1.2 字体嵌入1.3 撤销步数1.4 图像大小和质量 二、必备快捷键三、设计四原则四、总结 ヾ(๑╹◡╹)ノ" 没有坚持的努力,本质上并没有多大意义ヾ(๑╹◡╹)ノ" 一、PPT制作必要的基础…

轨道交通上的安科瑞精密配电多回路监控装置

安科瑞 崔丽洁 一、行业背景 轨道交通作为城市公共交通系统的一部分,在过去几十年中得到了广泛的发展和扩张。它在解决城市交通拥堵、减少环境污染、提高城市可持续性等方面发挥了重要作用。随着科技的进步,轨道交通系统也在不断引入新的技术和创新&…

SpringBoot 如何配置 SSL

Spring Boot SSL配置指南 在现代Web开发中,保护用户数据和通信的安全性至关重要。为了实现这一目标,许多网站都采用了SSL(安全套接层)协议来加密数据传输。Spring Boot使得为你的应用程序配置SSL变得非常容易,本文将详…

无源无线测温系统设计及在高压开关柜中的应用

摘要: 发电厂、变电站的高压开关柜在电力系统中起着发电、输电、配电和电能转换过程中开合、控制和保护作用。随着电网设备技术的发展,高压开关柜也得到广泛的使用。温度是表征开关柜运行正常的一个重要参数,开关柜在长期运行过程中,开关的触…

【工作流引擎】Activiti的使用02

Activiti的使用主要分三步: 1,定义流程 按照bpmn规范定义一个流程, 模板文件 <?xml version"1.0" encoding"UTF-8"?> <definitions xmlns"http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi"http://www.w3.org/2001/X…

基于SpringBoot的大学城水电管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员模块的实现 领用设备管理 消耗设备管理 设备申请管理 状态汇报管理 用户模块的实现 设备申请 状态汇报 用户反馈 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛…

在windows系统上安装pgAdmin4

pgAdmin4是全球最先进的开源数据库PostgreSQL的领先开源管理工具。它旨在满足新手和经验丰富的PostgreSQL用户的需求&#xff0c;提供了强大的图形界面&#xff0c;可简化数据库对象的创建、维护和使用。 pgAdmin4是Python开发的Web应用程序&#xff0c;既可以部署为Web模式通…

使用eclipce ,将java项目打包成jar包

第一步&#xff1a;右击需要打包的项目&#xff0c;-Run As -> Maven install 第二步&#xff1a;在当前项目的target 目录下&#xff0c;查看生成的项目jar包

Visual Studio 错误CS0006:未能找到元数据文件踩坑记录

前言 在写项目的时候&#xff0c;添加了个新的Nuget包&#xff0c;突然就不行&#xff0c;然后就是报错&#xff0c;找不到文件、 出现的原因是因为项目之间互相引用出现了问题&#xff0c;比如如下情况 先版本回退 如果有Git仓库 第一时间去看Git 文件比较&#xff0c;找到…

高压放大器在纳米材料中的应用有哪些

高压放大器是一种重要的电子设备&#xff0c;可以用于增强输入信号的电压。在纳米材料领域&#xff0c;高压放大器也具有广泛的应用。下面西安安泰将介绍高压放大器在纳米材料中的应用&#xff0c;并探讨其可行性和潜在的研究方向。 纳米材料传感器&#xff1a;高压放大器在纳米…

C语言重点突破(2)指针(二)

本章重点 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 1. 字符指针 在我的前一章节&#xff0c;我们提到指针也有类型的区分&#xff0c;有整型指针&#xff0c;浮点型指针&#xff0c;下面我们讲讲字符指针 字符指针的用法通常是将一个字符变量的地址存…

请求和响应的概述

请求&#xff1a;在浏览器地址栏输入地址&#xff0c;点击回车请求服务器&#xff0c;这个过程就是一个请求过程。 响应&#xff1a;服务器根据浏览器发送的请求&#xff0c;返回数据到浏览器在网页上进行显示&#xff0c;这个过程就称之为响应。 针对Servlet的每次请求&…

配资炒股优质平台排名:十大排名和评估!

随着互联网的发展&#xff0c;配资炒股平台已经成为了越来越多投资者的选择&#xff0c;但是市场上的配资炒股平台各不相同&#xff0c;投资者如何选择一家优质的平台呢&#xff1f;这时候&#xff0c;配资炒股优质平台排名就显得尤为重要。 配资炒股优质平台排名的作用&#…

搭载国内首个教育大模型“子曰”,有道虚拟人口语教练Hi Echo今日上线

10月11日&#xff0c;网易有道宣布&#xff0c;搭载子曰教育大模型的全球首个虚拟人口语教练 Hi Echo正式推出独立APP和微信小程序。这名一对一口语教练具备全天候多平台的陪伴能力&#xff0c;将更好地为用户提供随时随地高质量的口语练习&#xff0c;让用户彻底告别哑巴英语。…

OpenGL LUT滤镜算法解析

1. 简介 滤镜&#xff1a;一些图像处理软件针对性地提供了一些对传统滤镜效果的模拟功能&#xff0c;使图像达到一种特殊效果。滤镜通常需要同通道、图层、色阶等联合使用&#xff0c;才能使图像取得最佳艺术效果。在软件界面中也直接以“滤镜”&#xff08;Filter&#xff09…

乐优商城(二)搭建后台前端

1. 搭建后台管理前端 1.1 导入已有资源 找到已经准备好的 leyou-manage-web 压缩文件&#xff0c;这就是后台管理的前端项目 解压 leyou-manage-web 文件到项目中&#xff0c;注意与 leyou 文件同级 1.2 安装依赖 在 IDEA 中打开 leyou-manage-web 工程 2.打开 Teminal&…