美文网首页RocketMQ
RocketMQ源码阅读(五)-Linux环境搭建RocketM

RocketMQ源码阅读(五)-Linux环境搭建RocketM

作者: _呆瓜_ | 来源:发表于2017-10-17 20:06 被阅读359次

    前面几片文章介绍了RocketMQ底层的文件存储技术, 后续的文章会分析RocketMQ的消息发送和处理. 本文先介绍一下RocketMQ的部署. RocketMQ的集群部署方式有多种, 其中包括单个Master, 多个Master, 多Master多Slave模式(异步复制)以及多Master多Slave模式(同步双写). 本文以多Master集群模式为例搭建一个双机Master的RocketMQ集群环境.

    双机Master服务器环境

    序号    ip          角色           模式
    (1)   192.168.1.24    nameServer1,brokerServer1    Master1
    (2)   192.168.1.150   nameServer1,brokerServer1    Master2

    操作系统: CentOS-7-x86_64-Minimal-1708
    关闭防火墙
    双方telnet一下, 保证网络互通.
    JDK: openjdk-1.8

    Clone & Build

    > git clone -b develop https://github.com/apache/rocketmq.git
    > cd rocketmq
    > mvn -Prelease-all -DskipTests clean install -U
    > cd distribution/target/apache-rocketmq
    

    作者安装时的版本为4.2.0-SNAPSHOT

    Start Name Server

    > nohup sh bin/mqnamesrv &
    > tail -f ~/logs/rocketmqlogs/namesrv.log
    The Name Server boot success...
    

    集群部署时, namer server 也建议部署多个, 按照官网的介绍namer server之间不存在任何通信, 只要有一个namer server正常工作, namer server的功能就可以保持正常.

    准备RocketMQ的配置文件

    在机器192.168.1.24上进入apache-rocketmq的HOME目录, 修改配置文件.

    >/usr/install/apache-rocketmq/      //apache-rocketmq的HOME目录
    >vi conf/2m-noslave/broker-a.properties
    

    文件内容如下:

    #集群名称
    brokerClusterName=DefaultCluster
    #broker名称
    brokerName=broker-a
    #0代表master, > 0 代表slave, 本例中没有使用slave
    brokerId=0
    #删除文件时间点,默认凌晨 4点
    deleteWhen=04
    #文件保留时间,默认 48 小时
    fileReservedTime=48
    #Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘
    #- SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    #name server地址
    namesrvAddr=192.168.1.150:9876;192.168.1.24:9876
    

    注意此处brokerName要对应, 在192.168.1.24机器上使用的是broker-a, 配置文件为broker-a.properties, 相应的在192.168.1.150机器上使用的是broker-b, 配置文件为broker-b.properties.

    启动

    先启动两台机器的NameServer,再启动两台机器的Borker.
    关闭的时候顺序相反.

    >nohup sh bin/mqbroker -c conf/2m-noslave/broker-a.properties &
    >tail -f ~/logs/rocketmqlogs/broker.log
    

    192.168.1.150机器使用broker-b.properties.

    启动完成后, 利用admin tool来检验.

    >sh bin/mqadmin clusterlist -n 192.168.1.150:9876
    
    image.png

    相关文章

      网友评论

        本文标题:RocketMQ源码阅读(五)-Linux环境搭建RocketM

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