美文网首页
RocketMq-两主配置

RocketMq-两主配置

作者: 李哈哈_2c85 | 来源:发表于2021-05-31 09:23 被阅读0次

    rocket mq详细解析参考: https://www.cnblogs.com/tudachui/p/10998984.html

    基础环境
    2台服务器192.168.10.65、192.168.2.243
    centos7
    java1.8
    rocketmq-4.4
    版本下载地址:http://rocketmq.apache.org/dowloading/releases/   --选择二进制文件,如果选源码需要用maven构建
    
    1、安装2主模式
    #安装jdk1.8版本
    yum install java-1.8.0-openjdk* -y
    #解压mq包
    unzip rocketmq-all-4.4.0-bin-release.zip
    mv rocketmq-all-4.4.0-bin-release  rocketmq4.4
    

    1.1、修改配置文件(两个主都要修改)

     cp /data/rocketmq4.4/conf/2m-noslave/broker-a.properties /data/rocketmq4.4/conf/
     vim /data/rocketmq4.4/conf/broker-a.properties        #注释掉原配置粘贴以下配置,选择适用自己的,另一台服务器修改下最后的ip和brokerName就行
    
    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-a
    #0 表示 Master,>0 表示 Slave
    brokerId=0
    #nameServer地址,分号分割
    namesrvAddr=192.168.10.65:9876;192.168.2.243:9876
    #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    haListenPort=10912
    #删除文件时间点,默认凌晨 4点
    deleteWhen=04
    #文件保留时间,默认 48 小时
    fileReservedTime=18
    #commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    #存储路径
    storePathRootDir=/data/rocketmq4.4/store
    #commitLog 存储路径
    storePathCommitLog=/data/rocketmq4.4/store/commitlog
    #消费队列存储路径存储路径
    storePathConsumeQueue=/data/rocketmq4.4/store/consumequeue
    #消息索引存储路径
    storePathIndex=/data/rocketmq4.4/store/index
    #checkpoint 文件存储路径,这个加了服务起不来,暂时没研究啥情况,直接注释掉了,也没创建(应该是一个文件,不是一个目录)
    #storeCheckpoint=/data/rocketmq4.4/store/checkpoint
    #abort 文件存储路径
    abortFile=/data/rocketmq4.4/store/abort
    #限制的消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000
    #flushConsumeQueueThoroughInterval=60000
    #Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole=SYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘
    #- SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    #checkTransactionMessageEnable=false
    #发消息线程池数量
    #sendMessageThreadPoolNums=128
    #拉消息线程池数量
    #pullMessageThreadPoolNums=128
    #强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
    brokerIP1=192.168.10.65
    

    创建相对应的目录

    mkdir -p /data/rocketmq4.4/store/{commitlog,consumequeue,index,abort}
    

    1.2、启动namesrv和Broker服务 #mqnamesrv和mqbroker启动文件分别调用了runserver.sh和runbroker.sh文件,可根据自身机器内存大小配置相应内存(内存不够可能会报错error='Cannot allocate memory' (errno=12))

    nohup /data/rocketmq4.4/bin/mqnamesrv &        
    nohup /data/rocketmq4.4/bin/mqbroker -c /data/rocketmq4.4/conf/broker-a.properties &     #初次启动可以先别使用nohup,方便查看问题
    #关闭服务命令
    /data/rocketmq4.4/bin/mqshutdown broker
    /data/rocketmq4.4/bin/mqshutdown namesrv
    

    2、部署界面rocketmq-console:

    下载地址:https://github.com/apache/rocketmq-externals/tree/rocketmq-console-1.0.0

    wget https://codeload.github.com/apache/rocketmq-externals/zip/refs/tags/rocketmq-console-1.0.0
    unzip rocketmq-externals-rocketmq-console-1.0.0.zip
    mv rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console /data/
    
    vim /data/rocketmq-console/src/main/resources/application.properties
    #监控ip端口:server.port=8080 (冲突的话可以修改)
    #nameserver地址:rocketmq.config.namesrvAddr=192.168.10.65:9876;192.168.2.243:9876
    #其他可以默认
    
    使用maven打包,maven安装:https://www.jianshu.com/p/db824cd8ab6f   下面安装下maven
    #包下载地址:[https://maven.apache.org/download.cgi](https://maven.apache.org/download.cgi)    #apache-maven-3.6.3-bin.tar.gz
    tar -zxvf apache-maven-3.8.1-bin.tar.gz -C /usr/local/
    mv /usr/local/apache-maven-3.8.1 /usr/local/maven
    echo 'export PATH=$PATH:/usr/local/maven/bin'>> /etc/profile
    source /etc/profile
    mvn -v
    
    #ok,继续打包
    cd /data/rocketmq-console/
    mvn clean package -Dmaven.test.skip=true
    [INFO] Building jar: /data/rocketmq-console/target/rocketmq-console-ng-1.0.0-sources.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    运行打完的包,然后在web访问
    java -jar /data/rocketmq-console/target/rocketmq-console-ng-1.0.0.jar
    
    image.png

    相关文章

      网友评论

          本文标题:RocketMq-两主配置

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