• docker-compose安装rocketmq 5


    1. 环境
      Ubuntu、Docker 20.10.17、docker-compose v2.9.0
    2. 在文件夹 /usr/local/rocketmq下 创建 conf、logs、store 三个目录
       mkdir -p /usr/local/rocketmq
       
       cd /usr/local/rocketmq && mkdir {conf,logs,store}
    
    • 1
    • 2
    • 3
    1. 在conf文件夹下创建文件 broker.conf
    # 所属集群名字
    brokerClusterName=DefaultCluster
    
    # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
    # 在 broker-b.properties 使用: broker-b
    brokerName=broker-a
    
    # 0 表示 Master,> 0 表示 Slave
    brokerId=0
    
    # nameServer地址,分号分割
    # namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    # namesrvAddr=127.0.0.1:9876
    # 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:10909> failed
    # 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
    brokerIP1=192.168.31.248
    
    # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    
    # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
    autoCreateTopicEnable=true
    
    # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    
    # Broker 对外服务的监听端口
    listenPort=10911
    
    # 删除文件时间点,默认凌晨4点
    deleteWhen=04
    
    # 文件保留时间,默认48小时
    fileReservedTime=120
    
    # commitLog 每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    
    # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    
    # destroyMapedFileIntervalForcibly=120000
    # redeleteHangedFileInterval=120000
    # 检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    # 存储路径
    # storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store
    # commitLog 存储路径
    # storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog
    # 消费队列存储
    # storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue
    # 消息索引存储路径
    # storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index
    # checkpoint 文件存储路径
    # storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint
    # abort 文件存储路径
    # abortFile=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/abort
    # 限制的消息大小
    maxMessageSize=65536
    
    # flushCommitLogLeastPages=4
    # flushConsumeQueueLeastPages=2
    # flushCommitLogThoroughInterval=10000
    # flushConsumeQueueThoroughInterval=60000
    
    # Broker 的角色
    # - ASYNC_MASTER 异步复制Master
    # - SYNC_MASTER 同步双写Master
    # - SLAVE
    brokerRole=ASYNC_MASTER
    
    # 刷盘方式
    # - ASYNC_FLUSH 异步刷盘
    # - SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    
    # 发消息线程池数量
    # sendMessageThreadPoolNums=128
    # 拉消息线程池数量
    # pullMessageThreadPoolNums=128
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    1. 创建docker-compose.yml文件
    version: '3.8'
    services:
      rmqnamesrv:
        image: apache/rocketmq:5.1.0
        container_name: rmqnamesrv
        ports:
          - 9876:9876
        restart: always
        privileged: true
        volumes:
          - /usr/local/rocketmq/logs:/opt/logs
          - /usr/local/rocketmq/store:/opt/store
        environment:
          - MAX_HEAP_SIZE=256M
          - HEAP_NEWSIZE=128M
        command: ["sh","mqnamesrv"]
      broker:
        image: apache/rocketmq:5.1.0
        container_name: rmqbroker
        ports:
          - 10909:10909
          - 10911:10911
        restart: always
        privileged: true
        volumes:
        # 宿主机目录:容器目录
          - /usr/local/rocketmq/logs:/opt/logs
          - /usr/local/rocketmq/store:/opt/store
          - /usr/local/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf
        depends_on:
          - 'rmqnamesrv'
        environment:
          - NAMESRV_ADDR=rmqnamesrv:9876
          - MAX_HEAP_SIZE=512M
          - HEAP_NEWSIZE=256M
        command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf"]
      rmqdashboard:
        image: apacherocketmq/rocketmq-dashboard:latest
        container_name: rocketmq-dashboard
        ports:
          - 8080:8080
        restart: always
        privileged: true
        depends_on:
          - 'rmqnamesrv'
        environment:
          - JAVA_OPTS= -Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
  • 相关阅读:
    android studio 编译Telegram源码经验总结(2023-11-05)
    android获取RAM、CPU频率、系统版本、CPU核数
    我们要不要使用 ORM?
    记录一个截图导出pdf的方法
    怎么获取别人店铺的商品呢?
    基于SpringBoot + Vue的学生成绩管理系统的设计与实现源码及搭建视频
    前端 | 如何使用 css 实现居中效果
    React组件进阶--render-props,render props模式的使用步骤,children代替render属性,传递props
    连续词袋模型(Continous bag of words, CBOW)
    Shellcode——绕过31
  • 原文地址:https://blog.csdn.net/qq_15603633/article/details/133386870