zoukankan      html  css  js  c++  java
  • docker部署Broketrmq集群

    部署Broketrmq集群

    通过docker-compose形式部署

    • 首先创建 broker 配置文件,配置文件如下:
    brokerClusterName = DefaultCluster  #集群名
    brokerName = broker-a  #node名,集群内唯一
    brokerId = 0 #配置节点是主还是从,0为主,1为从
    deleteWhen = 04  
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = SYNC_FLUSH
    listenPort = 10911
    namesrvAddr=10.228.83.120:9876   #配置namesrvAddr注册中心地址
    autoCreateTopicEnable=true  		#配置是否自动创建 Topic
    autoCreateSubscriptionGroup=true	#配置是否自动创建 SubscriptionGroup 订阅组
    storePathRootDir=/home/rocketmq/store	#配置数据存储位置,持久化使用
    storePathCommitLog=/home/rocketmq/store/commitlog	#配置日志存储位置
    brokerIP1=10.228.83.120		#配置主机IP地址
    

    配置文件参考

    • 创建yml文件,vim docker-compose.yml,配置文件如下:
    version: '2'
    services:
      namesrv:
        image: rocketmqinc/rocketmq
        container_name: rmqnamesrv
        ports:
          - 9876:9876
        volumes:
          - /opt/namesrv/logs:/home/rocketmq/logs
          - /opt/namesrv/store:/home/rocketmq/store
        command: sh mqnamesrv
      broker:
        image: rocketmqinc/rocketmq
        container_name: rmqbroker
        ports:
          - 10909:10909
          - 10911:10911
          - 10912:10912
        volumes:
          - /opt/rocketmq/logs:/home/rocketmq/logs
          - /opt/rocketmq/store:/home/rocketmq/store
          - /opt/rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
        command: sh mqbroker  -n rmqnamesrv:9876 autoCreateTopicEnable=true  -c ../conf/broker.conf &  
        depends_on:
          - namesrv
        environment:
          - JAVA_HOME=/usr/lib/jvm/jre
      console:
        image: styletang/rocketmq-console-ng
        container_name: rocketmq-console-ng
        ports:
          - 8087:8080
        depends_on:
          - namesrv
        environment:
          - JAVA_OPTS= -Dlogging.level.root=info   -Drocketmq.namesrv.addr=rmqnamesrv:9876
          - Dcom.rocketmq.sendMessageWithVIPChannel=false
    

    console 可不部署,就是一个可视化的web界面。可作为集群是否部署成功的一个参考,如下:
    在这里插入图片描述

    • 如果后面需要添加集群的可参考如下操作

      • 同台主机添加

          1. 参考之前docker-compose.yml配置,创建相关broker文件夹
          2. 参考之前broker配置,创建broker配置文件
          3. 参考之前docker-compose.yml配置,编写docker run命令,命令样例如下:
          docker run -itd --name rmqbroker_b  --network=rocketmq_default   -p 10919:10909  -p 10921:10911 -p 10922:10912  -v /opt/rocketmq_b/logs:/home/rocketmq/logs  -v /opt/rocketmq_b/store:/home/rocketmq/store  -v /opt/rocketmq_b/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf  rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
          
      • 不同主机添加

          1. 参考之前docker-compose.yml配置,创建相关broker文件夹

          2. 参考之前broker配置,创建broker配置文件

          3. 参考之前docker-compose.yml配置,编写docker run命令,命令样例如下:

            docker run -itd --name rmqbroker_d    --privileged  -p 10929:10909  -p 10931:10911 -p 10932:10912  -v /opt/rocketmq_c/logs:/home/rocketmq/logs  -v /opt/rocketmq_c/store:/home/rocketmq/store  -v /opt/rocketmq_c/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf  -e "JAVA_OPT_EXT=-server -Xms2048m -Xmx2048m -Xmn2048m"    rocketmqinc/rocketmq   sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
            

            -e "JAVA_OPT_EXT=-server -Xms2048m -Xmx2048m -Xmn2048m"

            此参数待考证可不加,与同主机添加的不同就是网络模式指定的不同

    结束!!!

    参考链接

    参考一
    参考二
    参考三
    参考四
    参考五

  • 相关阅读:
    JavaScript ---Function
    win7(x64)安装scrapy框架
    [转]mysql性能优化-慢查询分析、优化索引和配置
    [原创]win7环境下搭建eclipse+python+django开发环境
    [原创]Python/Django使用富文本编辑器XHeditor上传本地图片
    Ubuntu下mysql使用
    [整理] mysql操作
    [原创]Sql2008 使用TVP批量插入数据
    一个js获取数组下标的函数
    深入理解js的prototype以及prototype的一些应用
  • 原文地址:https://www.cnblogs.com/98record/p/13648568.html
Copyright © 2011-2022 走看看