• rocketmq 两主两从异步集群搭建


    1.安装JDK

    需要先卸载系统默认的OPENJDK,安装 JDK1.8 64位的版本。

    卸载open-jdk

    rpm -qa|grep java

    查到open jdk的安装。

    使用命令

    rpm -e --nodeps ***

    卸载。

    安装 jdk1.8 

    tar -zxvf jdk-8u191-linux-x64.tar.gz 解压JDK

    编辑 

    /etc/profile 

    在最后增加配置 

    export JAVA_HOME=/work/jdk1.8.0_191
    export PATH=$JAVA_HOME/bin:$PATH

    rocketmq 集群搭建

    1.部署架构

    我们有两台节点

    IP为 10.87.134.74,10.87.134.75,两台机器均运行NAMESERVER.

    在74 上部署BROKER A MASTER,BROKER B SLAVE

    在75 上部署BROKER A SLAVE,BROKER B MASTER

    2.修改内存配置

    在默认情况下 rocketmq 配置运行内存比较大,如果机器内存不够可以做些调整。

    编辑 bin 目录下的runbroker.sh文件

    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"

    编辑 bin 目录下的 runserver.sh 文件

    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

    3.准备集群配置文件

    我们安装的主从异步模式

    程序解压后在conf 有如下的配置文件

    编辑节点74 的配置文件

    编辑broker-a.properties 内容:

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    
    listenPort=6001
    autoCreateTopicEnable=true
    namesrvAddr=10.87.134.74:9876;10.87.134.75:9876
    storePathRootDir=/work/rocketmq-4.5.1/store/broker-a
    storePathCommitLog=/work/rocketmq-4.5.1/store/broker-a/commitlog
    storePathConsumeQueue=/work/rocketmq-4.5.1/store/broker-a/consumequeue
    storePathIndex=/work/rocketmq-4.5.1/store/broker-a/index
    storeCheckpoint=/work/rocketmq-4.5.1/store/broker-a/checkpoint
    abortFile=/work/rocketmq-4.5.1/store/broker-a/abort

    编辑broker-b-s.properties 文件内容

    brokerClusterName=DefaultCluster
    brokerName=broker-b
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    
    listenPort=7001
    autoCreateTopicEnable=true
    
    namesrvAddr=10.87.134.74:9876;10.87.134.75:9876
    storePathRootDir=/work/rocketmq-4.5.1/store/broker-b
    storePathCommitLog=/work/rocketmq-4.5.1/store/broker-b/commitlog
    storePathConsumeQueue=/work/rocketmq-4.5.1/store/broker-b/consumequeue
    storePathIndex=/work/rocketmq-4.5.1/store/broker-b/index
    storeCheckpoint=/work/rocketmq-4.5.1/store/broker-b/checkpoint
    abortFile=/work/rocketmq-4.5.1/store/broker-b/abort

    编辑75 配置文件

    编辑 broker-b.properties 文件

    terName=DefaultCluster
    brokerName=broker-b
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    
    listenPort=7001
    autoCreateTopicEnable=true
    
    namesrvAddr=10.87.134.74:9876;10.87.134.75:9876
    storePathRootDir=/work/rocketmq-4.5.1/store/broker-b
    storePathCommitLog=/work/rocketmq-4.5.1/store/broker-b/commitlog
    storePathConsumeQueue=/work/rocketmq-4.5.1/store/broker-b/consumequeue
    storePathIndex=/work/rocketmq-4.5.1/store/broker-b/index
    storeCheckpoint=/work/rocketmq-4.5.1/store/broker-b/checkpoint
    abortFile=/work/rocketmq-4.5.1/store/broker-b/abort                            

    编辑 broker-a-s.properties 文件

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=1
    deleteWhen=04
    fileReservedTime=48
    brokerRole=SLAVE
    flushDiskType=ASYNC_FLUSH
    
    
    listenPort=6001
    autoCreateTopicEnable=true
    
    namesrvAddr=10.87.134.74:9876;10.87.134.75:9876
    
    storePathRootDir=/work/rocketmq-4.5.1/store/broker-a
    storePathCommitLog=/work/rocketmq-4.5.1/store/broker-a/commitlog
    storePathConsumeQueue=/work/rocketmq-4.5.1/store/broker-a/consumequeue
    storePathIndex=/work/rocketmq-4.5.1/store/broker-a/index
    storeCheckpoint=/work/rocketmq-4.5.1/store/broker-a/checkpoint
    abortFile=/work/rocketmq-4.5.1/store/broker-a/abort
    listenPort:是broker 对外监听的端口。

    我们需要创建以下的目录:
    store/broker-a
    store/broker-a/commitlog
    store/broker-a/consumequeue
    store/broker-a/index 目录

    在两个节点上分别创建 broker-a,broker-b的目录。

    4.启动rocketmq ,并检查是否正确。

    1.启动nameserver
    在两个节点上分别执行:
    nohup sh /work/rocketmq-4.5.1/bin/mqnamesrv >/work/rocketmq-4.5.1/logs/mqnamesrv.log 2>&1 &
    2.按照下面的顺序执行

      1.启动broker-a (节点1)
        nohup sh /work/rocketmq-4.5.1/bin/mqbroker -c /work/rocketmq-4.5.1/conf/2m2sasync/broker-a.properties > /work/rocketmq-4.5.1/logs/broker-a.log 2>&1 &

      2.启动broker-a-s (节点2)
        nohup sh /work/rocketmq-4.5.1/bin/mqbroker -c /work/rocketmq-4.5.1/conf/2m2sasync/broker-a-s.properties > /work/rocketmq-4.5.1/logs/broker-a-s.log 2>&1 &

      3.启动broker-b (节点2)
        nohup sh /work/rocketmq-4.5.1/bin/mqbroker -c /work/rocketmq-4.5.1/conf/2m2sasync/broker-b.properties > /work/rocketmq-4.5.1/logs/broker-b.log 2>&1 &

      4.启动broker-b-s (节点1)
        nohup sh /work/rocketmq-4.5.1/bin/mqbroker -c /work/rocketmq-4.5.1/conf/2m2sasync/broker-b-s.properties > /work/rocketmq-4.5.1/logs/broker-b-s.log 2>&1 &

       3. 查看节点配置是否正确

             执行命令 ./bin/mqadmin clusterList -n 10.87.134.75:9876

       

      出现4个这样的配置说明,大功告成了。

    5.注意事项

    故障1

    在启动 broker 时报如下错误。

    ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!

    解决办法:

    注释上面三行,增加 JAVA_HOME即可。



     
     
  • 相关阅读:
    Dat2Rin.exe + runpkr00.exe 将*.T0* 数据转换成Rinex文件
    使用scipy.spatial.Delaunay 三角网的构建
    tinkphp3第三方类库引入问题
    git 撤销更改
    nginx各种配置
    elastic教程
    centos添加动态库默认搜索路径
    JSwebsocket问题:One or more reserved bits are on: reserved1 = 1, reserved2 = 1, reserved3 = 0
    关于脚本手动正常运行,放入crontab无效的问题
    mysql相关操作
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/11190444.html
Copyright © 2020-2023  润新知