使用docker创建rocketMQ主从结构,使用

1、 创建目录

mkdir -p /docker/rocketmq/logs/nameserver-a
mkdir -p /docker/rocketmq/logs/nameserver-b
mkdir -p /docker/rocketmq/logs/broker-a
mkdir -p /docker/rocketmq/logs/broker-b
mkdir -p /docker/rocketmq/store/broker-a
mkdir -p /docker/rocketmq/store/broker-b
mkdir -p /docker/rocketmq/broker-a/
mkdir -p /docker/rocketmq/broker-b/
mkdir -p /docker/rocketmq/console-ng/data

2、创建rocketmq的配置文件

2.1 创建broker-a.conf(主节点)

vim /docker/rocketmq/broker-a/broker-a.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = rocketmq-cluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTERASYNC_MASTERSLAVE;同步和异步表示MasterSlave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSHSYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址(**这个非常重要,主从模式下,从节点会根据主节点的brokerIP2来同步数据,如果不配置
,主从无法同步,brokerIP1设置为自己外网能访问的ip,服务器双网卡情况下必须配置,比如阿里云这种,主节点需要配置ip1和
ip2,从节点只需要配置ip1即可)
brokerIP1 = rmqbroker-a
brokerIP2 = rmqbroker-a-s
#nameServer地址,分号分割
namesrvAddr=rmqnamesrv-a:9876;rmqnamesrv-b:9876
#Broker 对外服务的监听端口,
listenPort = 10911
slaveReadEnable = true
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
#支持sql92过滤消息
enablePropertyFilter=true

2.2 创建broker-a-s.conf(从节点)

vim /docker/rocketmq/broker-b/broker-a-s.conf
root@DESKTOP-KIQB7GS:/home/jxren# ^C
root@DESKTOP-KIQB7GS:/home/jxren# cat  /docker/rocketmq/broker-a/broker-a-s.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = rocketmq-cluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-b
#0表示Master,大于0表示不同的slave
brokerId = 1
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTERASYNC_MASTERSLAVE;同步和异步表示MasterSlave之间同步数据的机制;
brokerRole = SLAVE
#刷盘策略,取值为:ASYNC_FLUSHSYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址(**这个非常重要,主从模式下,从节点会根据主节点的brokerIP2来同步数据,如果不配置
,主从无法同步,brokerIP1设置为自己外网能访问的ip,服务器双网卡情况下必须配置,比如阿里云这种,主节点需要配置ip1和
ip2,从节点只需要配置ip1即可)
brokerIP1 = rmqbroker-a-s
#nameServer地址,分号分割
namesrvAddr=rmqnamesrv-a:9876;rmqnamesrv-b:9876
#Broker 对外服务的监听端口,
listenPort = 10911
slaveReadEnable = true
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
#支持sql92过滤消息
enablePropertyFilter=true

3.构建docker-compose-rocketmq.yml文件

version: '3.5'
services:
  rmqnamesrv-a:
    image: apache/rocketmq:4.9.4
    container_name: rmqnamesrv-a
    ports:
      - 9876:9876
    volumes:
      - /docker/rocketmq/logs/nameserver-a:/home/rocketmq/logs
      - /docker/rocketmq/store/nameserver-a:/home/rocketmq/store
    command: sh mqnamesrv
    networks:
      rmq:
        aliases:
          - rmqnamesrv-a

  rmqnamesrv-b:
    image: apache/rocketmq:4.9.4
    container_name: rmqnamesrv-b
    ports:
      - 9877:9876
    volumes:
      - /docker/rocketmq/logs/nameserver-b:/home/rocketmq/logs
      - /docker/rocketmq/store/nameserver-b:/home/rocketmq/store
    command: sh mqnamesrv
    networks:
      rmq:
        aliases:
          - rmqnamesrv-b

  rmqbroker-a:
    image: apache/rocketmq:4.9.4
    container_name: rmqbroker-a
    ports:
      - 10911:10911
    volumes:
      - /docker/rocketmq/logs/broker-a/logs:/home/rocketmq/logs
      - /docker/rocketmq/store/broker-a/store:/home/rocketmq/store
      - /docker/rocketmq/broker-a/broker-a.conf:/opt/rocketmq/conf/broker-a.conf
    environment:
      TZ: Asia/Shanghai
      NAMESRV_ADDR: "rmqnamesrv-a:9876"
      JAVA_OPTS: " -Duser.home=/opt"
      JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: sh mqbroker -c /opt/rocketmq/conf/broker-a.conf
    links:
      - rmqnamesrv-a:rmqnamesrv-a
      - rmqnamesrv-b:rmqnamesrv-b
    networks:
      rmq:
        aliases:
          - rmqbroker-a

  rmqbroker-a-s:
    image: apache/rocketmq:4.9.4
    container_name: rmqbroker-a-s
    ports:
      - 10912:10911
    volumes:
      - /docker/rocketmq/logs/broker-a-s:/home/rocketmq/logs
      - /docker/rocketmq/store/broker-a-s:/home/rocketmq/store
      - /docker/rocketmq/broker-a/broker-a-s.conf:/home/docker/rocketmq/conf/broker-b.conf
    environment:
      TZ: Asia/Shanghai
      NAMESRV_ADDR: "rmqnamesrv-a:9876"
      JAVA_OPTS: " -Duser.home=/opt"
      JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: sh mqbroker -c /home/docker/rocketmq/conf/broker-b.conf
    links:
      - rmqnamesrv-a:rmqnamesrv-a
      - rmqnamesrv-b:rmqnamesrv-b
    networks:
      rmq:
        aliases:
          - rmqbroker-a-s


  rmqconsole:
    image: apacherocketmq/rocketmq-dashboard
    container_name: rmqconsole
    ports:
      - 8087:8080
    environment:
      JAVA_OPTS: -Drocketmq.namesrv.addr=rmqnamesrv-a:9876;rmqnamesrv-b:9877 -Dcom.rocketmq.sendMessageWithVIPChannel=false
    networks:
      rmq:
        aliases:
          - rmqconsole

# 自定义网络
networks:
  rmq:
    name: rmq
    driver: bridge

4、拉到服务器上运行此文件

docker-compose -f docker-compose-rocketmq.yml up -d

5、查看http://127.0.0.1:8087/

在这里插入图片描述
显示此界面,表明运行成功

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

复旦 北大 | 从头训练中文大模型:CT-LLM

引言 当前,绝大多数大模型(LLMs)基本上都是以英文语料库训练得到的,然后经过SFT来匹配不同的语种。然而,今天给大家分享的这篇文章旨在从头开始训练中文大模型,在训练过程中「主要纳入中文文本数据」&…

proteus+stm32+CubeMX+dht11+lcd1602

浅浅记录下过程遇到的问题🤡🤡🤡 1 供电网配置错误(加上就好了 新起个名也会出这个 / 电源不起名 不创建估计项目也会)没zet6的 proteus 里 固件库 账号注册半天没成 就用的stm32F103R6的然后发现单片机不输出高低电平…

数据仓库和数据仓库分层

一、数据仓库概念 数据仓库(Data Warehouse),可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业&#…

ubuntu系统搭建pytorch环境详细步骤【笔记】

实践设备:华硕FX-PRO(NVIDIA GeForce GTX 960M) 搭建PyTorch环境的详细步骤如下: 1.安装Ubuntu系统: 下载Ubuntu的镜像文件并制作启动盘。将启动盘插入计算机,启动计算机并按照提示安装Ubuntu系统。 2.…

【免费AI系统】智狐AIs:企业级AI解决方案,提升您的工作效率

今天,我将为您介绍一个创新的AI平台——智狐AIs,这是一个致力于让AI技术变得易于接触和使用的平台,它为不同层次的用户提供了一个功能强大且易于操作的交互环境。 智狐AIs:您智能生活的新伙伴 智狐AIs以其简洁而强大的设计&#…

【面试经典 150 | 数组】找出字符串中第一个匹配项的下标

文章目录 写在前面Tag题目来源解题思路方法一:find方法二:暴力匹配方法三:KMP 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,…

2024年第二十六届“华东杯”(A题)大学生数学建模挑战赛|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看华东杯 (A题)! 问题一&a…

Vue3管理系统-路由设置+表单校验

一、配置路由规则 1.在views 下创建文件夹分类,搭好架子 2.配置路由规则 在router下Index.js import { createRouter, createWebHistory } from vue-routerconst router createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [//一级路由//这里可以…

Vue入门到关门之Vue项目工程化

一、创建Vue项目 1、安装node环境 官网下载,无脑下一步,注意别放c盘就行 Node.js — Run JavaScript Everywhere (nodejs.org) 需要两个命令 npm---->pipnode—>python 装完检查一下,hello world检测,退出crtlc 2、搭建vu…

ARM功耗管理背景及挑战

安全之安全(security)博客目录导读

uniapp 对接 Apple 登录

由于苹果要求App使用第三方登录必须要求接入Apple登录 不然审核不过 所以: 一、勾选苹果登录 二、 设置AppId Sign In Apple 设置完成重新生成描述文件 !!!!证书没关系 示例代码: async appleLogin…

JAVA面试专题-MySQL

锁 全局锁 对这个数据库实例加锁,加锁后整个实例处于只读状态,DDL和DML阻塞,DQL可以 表级锁 每次操作锁住整张表 表锁 表共享读锁(read lock):不阻塞其他客户端的读,但会阻塞写 表独占写…

kubectl_入门_Pod调整

Pod调度 在默认情况下,一个pod在哪个node节点上运行,是由scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。 但是在实际过程中,这并不满足需求,因为很多情况下,我们想控制某些pod到达某…

第9篇:创建Nios II工程之读取Switch的值<二>

Q:上一期我们完成了Quartus硬件工程部分,本期我们创建Nios II软件工程这部分。 A:创建完BSP和Nios II Application之后,在source文件main.c中添加代码:system.h头文件中新增了Switch PIO IP的硬件信息,包括…

【学习笔记三十】EWM和PP集成的后台配置和前台演示

一、EWM和PP集成概述 在S4HANA版本中,PP模块强化了生产线的概念,并与EWM集成,使用生产供应区(PSA)的功能。PSA的基本配置包括在ERP系统中创建PSA、定义工作中心、将PSA分配给工作中心、在EWM中创建PSA、匹配ERP和EWM中…

实验14 MVC

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握MVC的用法。【参考课本 例1 】 三、源代码以及执行结果截图&#xff1a; example7_1.jsp&#xff1a; <% page contentType"text/html" %> <% page pageEncoding "ut…

宝兰德以全栈智能运维能力为企业数字化转型保驾护航

2020年发布“十四五”规划中提出“加快数字化发展&#xff0c;建设数字中国”&#xff0c;发展数字经济成为国家战略。在数字技术创新应用和国家政策持续利好的大趋势下&#xff0c;面对全行业产业结构调整、资源环境挑战等带来的机遇和难点&#xff0c;我国千行百业的数字化转…

工业互联网通讯协议—欧姆龙(Fins tcp)

一、场景 近期公司要对欧姆龙CP系列设备的数据采集&#xff0c;于是就研究了下欧姆龙的Fins Tcp协议。 二、Fins Tcp 组成字节说明固定头446494E53 FINS对应的ASCII码的十六进制长度4后面剩余指令的长度命令4 握手固定为&#xff1a;00000000 读写固定为&#xff1a;0000000…

CentOS/Anolis的Linux系统如何通过VNC登录远程桌面?

综述 需要在server端启动vncserver&#xff0c;推荐tigervnc的server 然后再本地点来启动client进行访问&#xff0c;访问方式是IPport&#xff08;本质是传递数据包到某个ip的某个port&#xff09; 然后需要防火墙开启端口 服务器上&#xff1a;安装和启动服务 安装服务 y…

Python 可以对数据进行哪些可视化?

Python 可视化 一、条形图&#xff08;或柱状图&#xff09; 1.代码如下&#xff1a; import matplotlib.pyplot as plt import pandas as pddf pd.DataFrame({County:[America,Canada,Australia,Germany,French,China],GDP:[80,30,70,80,60,75] })plt.bar(df[County],df[G…