zoukankan      html  css  js  c++  java
  • 5分钟搭建rocketmq 4.8集群

    5分钟搭建rocketmq 4.8集群


    前言

    该文档主要介绍如何部署自动容灾切换的 RocketMQ-on-DLedger Group。

    RocketMQ-on-DLedger Group 是指一组相同名称的 Broker,至少需要 3 个节点,通过 Raft 自动选举出一个 Leader,其余节点 作为 Follower,并在 Leader 和 Follower 之间复制数据以保证高可用。
    RocketMQ-on-DLedger Group 能自动容灾切换,并保证数据一致。
    RocketMQ-on-DLedger Group 是可以水平扩展的,也即可以部署任意多个 RocketMQ-on-DLedger Group 同时对外提供服务。

    具体原理看这:

    https://blog.csdn.net/trntaken/article/details/105694384

    1. 新集群部署

    1.1 编写配置

    每个 RocketMQ-on-DLedger Group 至少准备三台机器(本文假设为 3)。

    ip 主机名 操作系统
    10.16.100.60 mq1 CentOS 7
    10.16.100.62 mq2 CentOS 7
    10.16.100.63 mq3 CentOS 7

    编写 3 个配置文件,建议参考 conf/dledger 目录下的配置文件样例。
    关键配置介绍:

    name 含义 举例
    enableDLegerCommitLog 是否启动 DLedger true
    dLegerGroup DLedger Raft Group的名字,建议和 brokerName 保持一致 RaftNode00
    dLegerPeers DLedger Group 内各节点的端口信息,同一个 Group 内的各个节点配置必须要保证一致 n0-127.0.0.1:40911;n1-127.0.0.1:40912;n2-127.0.0.1:40913
    dLegerSelfId 节点 id, 必须属于 dLegerPeers 中的一个;同 Group 内各个节点要唯一 n0
    sendMessageThreadPoolNums 发送线程个数,建议配置成 Cpu 核数 16

    mq1的配置 conf/dledger/broker-n0.conf

    brokerClusterName = RaftCluster
    brokerName=RaftNode00
    listenPort=30911
    namesrvAddr=10.16.100.60:9876;10.16.100.62:9876;10.16.100.63:9876
    storePathRootDir=/tmp/rmqstore/node00
    storePathCommitLog=/tmp/rmqstore/node00/commitlog
    enableDLegerCommitLog=true
    dLegerGroup=RaftNode00
    dLegerPeers=n0-10.16.100.60:40911;n1-10.16.100.62:40912;n2-10.16.100.63:40913
    ## must be unique
    dLegerSelfId=n0
    sendMessageThreadPoolNums=4
    brokerIP1=10.16.100.60
    

    mq2的配置 conf/dledger/broker-n1.conf

    brokerClusterName = RaftCluster
    brokerName=RaftNode00
    listenPort=30921
    namesrvAddr=10.16.100.60:9876;10.16.100.62:9876;10.16.100.63:9876
    storePathRootDir=/tmp/rmqstore/node01
    storePathCommitLog=/tmp/rmqstore/node01/commitlog
    enableDLegerCommitLog=true
    dLegerGroup=RaftNode00
    dLegerPeers=n0-10.16.100.60:40911;n1-10.16.100.62:40912;n2-10.16.100.63:40913
    ## must be unique
    dLegerSelfId=n1
    sendMessageThreadPoolNums=4
    brokerIP2=10.16.100.62
    

    mq3的配置 conf/dledger/broker-n2.conf

    brokerClusterName = RaftCluster
    brokerName=RaftNode00
    listenPort=30931
    namesrvAddr=10.16.100.60:9876;10.16.100.62:9876;10.16.100.63:9876
    storePathRootDir=/tmp/rmqstore/node02
    storePathCommitLog=/tmp/rmqstore/node02/commitlog
    enableDLegerCommitLog=true
    dLegerGroup=RaftNode00
    dLegerPeers=n0-10.16.100.60:40911;n1-10.16.100.62:40912;n2-10.16.100.63:40913
    ## must be unique
    dLegerSelfId=n2
    sendMessageThreadPoolNums=4
    brokerIP3=10.16.100.63
    

    1.2 启动

    1.2.1 启动nameserver

    3台机器都执行

    nohup sh mqnamesrv &
    

    1.2.1 启动Broker

    mq1

    nohup sh bin/mqbroker -c conf/dledger/broker-n0.conf &
    

    mq2

    nohup sh bin/mqbroker -c conf/dledger/broker-n1.conf &
    

    mq3

    nohup sh bin/mqbroker -c conf/dledger/broker-n2.conf &
    
  • 相关阅读:
    nginx能访问html静态文件但无法访问php文件
    LeetCode "498. Diagonal Traverse"
    LeetCode "Teemo Attacking"
    LeetCode "501. Find Mode in Binary Search Tree"
    LeetCode "483. Smallest Good Base" !!
    LeetCode "467. Unique Substrings in Wraparound String" !!
    LeetCode "437. Path Sum III"
    LeetCode "454. 4Sum II"
    LeetCode "445. Add Two Numbers II"
    LeetCode "486. Predict the Winner" !!
  • 原文地址:https://www.cnblogs.com/fsckzy/p/15061528.html
Copyright © 2011-2022 走看看