美文网首页
【生产】部署RocketMQ

【生产】部署RocketMQ

作者: XJ2017 | 来源:发表于2020-12-03 17:05 被阅读0次

    单机部署参照:https://www.jianshu.com/p/44961760cf36,本文将基于单机部署完善

    主从模式选型

    参考:https://juejin.cn/post/6844903997095018509

    考虑我们公司对数据零丢失的硬性要求,选择多Master多Slave模式(同步复制、异步刷盘)。

    2主2从模式(同步复制)

    • rocketmq安装目录:/usr/local/rocketmq-all-4.7.1-bin-release
    • 默认配置路径:/usr/local/rocketmq-all-4.7.1-bin-release/conf/2m-2s-sync
    • 配置文件说明(建议同一集群的主与从部署在不同的物理机上面):
      • broker-a.properties:集群A的master配置
      • broker-a-s.properties:集群A的slave配置
      • broker-b.properties:集群B的master配置
      • broker-b-s.properties:集群B的slave配置
    • 每个配置文件中添加如下配置:
      #线上关闭自动创建topic
      autoCreateTopicEnable=false
      
      #开启Slave读权限(分担master 压力)
      slaveReadEnable=true
      #发送消息线程等待时间,默认200ms
      waitTimeMillsInSendQueue=1000
      # nameServer地址,分号分割
      namesrvAddr=nameserverIP1:9876;namerserverIP2:9876
      # 本机ip地址,默认系统自动识别,但是某些多网卡机器会存在识别错误的情况,这种情况下可以人工配置。
      brokerIP1=本机外网IP
      # 存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步
      brokerIP2=本机内网IP
      
      #开启临时存储池
      #transientStorePoolEnable=true
      #关闭堆内存数据传输
      #transferMsgByHeap=false
      #开启文件预热
      #warmMapedFileEnable=true
      #发送消息的最大线程数,默认1
      #sendMessageThreadPoolNums=16
      #使用可重入锁
      #useReentrantLockWhenPutMessage=true
      
      #同一台机器部署多个broker,端口号要不同,且端口号之间要相距大些
      listenPort=10911
      #存储路径
      storePathRootDir=/data/rocket/app1/store
      storePathCommitLog=/data/rocket/app1/store/commitlog
      
    • 自定义日志输出(如果不是同台机器部署多个应用,默认日志输出即可)
      cd /usr/local/rocketmq-all-4.7.1-bin-release/conf
      # 替换日志输出目录(此处使用LogHomeRoot环境变量自定义目录)
      sed -i "s/user\.home/LogHomeRoot/g" logback_broker.xml
      

    启动与停止

    • NameServer
      cd /usr/local/rocketmq-all-4.7.1-bin-release
      # 启动
      nohup sh bin/mqnamesrv > ns.log 2>&1 &
      # 停止
      ./bin/mqshutdown namesrv
      
    • Broker
      cd /usr/local/rocketmq-all-4.7.1-bin-release
      # 启动(需设置日志环境变量,且需要同时执行)
      LogHomeRoot=/data/rocket/app1 nohup sh bin/mqbroker -c conf/2m-2s-sync/xxx.properties > bk_app1.log 2>&1 &
      # 停止
      ./bin/mqshutdown broker
      

    相关文章

      网友评论

          本文标题:【生产】部署RocketMQ

          本文链接:https://www.haomeiwen.com/subject/ornmwktx.html