RocketMq集群环境实战(双namesrv、双master、双slave)

主:192.168.151.131   从 192.168.151.132


1. 修改主从hosts文件

    vi /etc/hosts  加入

    192.168.153.131  rocketmq.master
    192.168.153.132  rocketmq.slave


2. 修改mq配置文件采用异步复制  2m-2s-async

     192.168.151.131 上的配置

     (1)broker-a.properties(broker-a的master配置)

        namesrvAddr=rocketmq.master:9876;rocketmq.slave:9876    //所关联的namesrv地址
        brokerClusterName=FusionCluster     //集群名称
        brokerName=broker-a 
        brokerId=0                                                 //0代表主
        deleteWhen=04
        fileReservedTime=48
        brokerRole=ASYNC_MASTER             //角色
        flushDiskType=ASYNC_FLUSH           //异步刷盘
        sstorePathRootDir=/opt/logs/rocketmqlogs/store  
        storePathCommitLog=/opt/logs/rocketmqlogs/store/commitlog  //日志存放目录

     (2)broker-b-s.properties(broker-b的slave配置)

        namesrvAddr=rocketmq.master:9876;rocketmq.slave:9876
        brokerClusterName=FusionCluster
        brokerName=broker-b
        brokerId=1
        deleteWhen=04
        fileReservedTime=48
        brokerRole=SLAVE
        flushDiskType=ASYNC_FLUSH
        listenPort=10913   //更改端口号,同一台机器上两个broker不可采用同一端口

        storePathRootDir=/opt/logs/rocketmqlogs/store  
        storePathCommitLog=/opt/logs/rocketmqlogs/store/commitlog

    192.168.151.132 上的配置

     (1)broker-b.properties(broker-b的master配置)

        namesrvAddr=rocketmq.master:9876;rocketmq.slave:9876
        brokerClusterName=FusionCluster
        brokerName=broker-b
        brokerId=0
        deleteWhen=04
        fileReservedTime=48
        brokerRole=ASYNC_MASTER
        flushDiskType=ASYNC_FLUSH
        storePathRootDir=/opt/logs/rocketmqlogs/store  
        storePathCommitLog=/opt/logs/rocketmqlogs/store/commitlog //日志存放目录

     (2)broker-a-s.properties(broker-a的slave配置)

        namesrvAddr=rocketmq.master:9876;rocketmq.slave:9876
        brokerClusterName=FusionCluster
        brokerName=broker-a
        brokerId=1
        deleteWhen=04
        fileReservedTime=48
        brokerRole=SLAVE
        flushDiskType=ASYNC_FLUSH
        listenPort=10913

        storePathRootDir=/opt/logs/rocketmqlogs/store  
        storePathCommitLog=/opt/logs/rocketmqlogs/store/commitlog

     注意: 这里将broker-a和broker-b的主从分别放到不同的机器上启动是为了保证当与一台机器宕机时,另一台可继续工作。


3.启动服务

         192.168.153.131

         sed -i  's#${user.home}#/opt#g'  *.xml       //将conf目录下所有xml文件中的${user.home}替换成/opt,进入rocketmq/conf目录下执行该命令

         mqnamesrv &  启动nameservice

         mqbroker   -c   /opt/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties &           //启动broker-a主

         mqbroker   -c   /opt/alibaba-rocketmq/conf/2m-2s-async/broker-b-s.properties &      //启动broker-b从 


        192.168.153.132

         sed -i  's#${user.home}#/opt#g'  *.xml       //将conf目录下所有xml文件中的${user.home}替换成/opt,进入rocketmq/conf目录下执行该命令

         mqnamesrv &  启动nameservice

         mqbroker   -c   /opt/alibaba-rocketmq/conf/2m-2s-async/broker-b.properties &           //启动broker-b主

         mqbroker   -c   /opt/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties &       //启动broker-a从 

4.到此已经完成,可以发布rocketmq-console项目来查看mq的信息和配置。 

         创建一个topic到两个broker上

          mqadmi  updateTopic -c FusionCluster  -b 192.168.153.131:10911   -t testbroker

         mqadmi  updateTopic -c FusionCluster  -b 192.168.153.132:10911   -t testbroker


你可能感兴趣的:(RocketMq集群环境实战(双namesrv、双master、双slave))