导读

  上一集我们已经学会了SpringBoot整合RocketMQ点我直达,今天我们来搭建双主双从高性能MQ服务集群。

简介

主从架构

  Broker角色,Master提供读写,Slave只支持读,Consumer不用配置,当Master不可用或者繁忙的时候,Consumer会自动切换到Slave节点进行读取。双主双从,同步复制,异步刷盘

集群配置(4台机器)

  1. 两台部署Broker-Master和NameServer
  2. 两台部署Broker-Slave和NameServer

前置条件

  • Maven
  • Git
  • Jdk1.8
  • RocketMQ 4.7.1
  • 4台机器,ip分别为如下
    • 192.168.199.110()
    • 192.168.199.120()
    • 192.168.199.130()
    • 192.168.199.140()

搭建

安装依赖项

  1. jdk:点我直达
  2. maven:点我直达
  3. git安装:yum install -y git

上传相应文件及安装目录

maven编译

cd /opt/soft/rocketmq-all-4.7.1-source-release

mvn -Prelease-all -DskipTests clean install -U

修改启动内存大小

  因为是本地搭建的4台虚拟机,只分配的1G,不把启动内存设置小点,服务跑不起来~

修改,110、130

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/bin 编辑
vim runserver.sh 修改参数
原始:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

修改,110、120、130、140

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/bin 编辑
vim runbroker.sh 修改
原始值:
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g" 修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

启动,110,130

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 守护进程启动
nohup sh bin/mqnamesrv & 使用:jps,查看是否启动成功

192.168.199.110(broker-a,部署nameServer,主)

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/conf/2m-2s-sync 编辑
vim broker-a.properties 修改为如下配置
namesrvAddr=192.168.199.110:9876;192.168.199.130:9876
brokerClusterName=ybchenCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 守护进程启动
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-a.properties &

192.168.199.120(broker-b,主)

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/conf/2m-2s-sync 编辑
vim broker-b.properties 修改为如下配置
namesrvAddr=192.168.199.110:9876;192.168.199.130:9876
brokerClusterName=ybchenCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 守护进程启动
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b.properties &

192.168.199.130(broker-a-s,部署nameServer,从)

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/conf/2m-2s-sync 编辑
vim broker-a-s.properties 修改为如下配置
namesrvAddr=192.168.199.110:9876;192.168.199.130:9876
brokerClusterName=ybchenCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 守护进程启动
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-a-s.properties &

192.168.199.140(broker-b-s,从)

切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/conf/2m-2s-sync 编辑
vim broker-b-s.properties 修改为如下配置namesrvAddr=192.168.199.110:9876;192.168.199.130:9876
brokerClusterName=ybchenCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
切换
cd /opt/soft/rocketmq-all-4.7.1-source-release/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 守护进程启动
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b-s.properties &

查看启动

  做这几张图太难了,制作成gif,花了半小时~~以下内容都是连续滴

双主双从控制台配置

192.168.199.110

  在这台机器上操作,修改配置文件,并启动

切换
cd /opt/soft/rocketmq-externals-master/rocketmq-console/src/main/resources 编辑
vim application.properties 修改为如下配置,指定:rocketmq.config.namesrvAddr
------------------分隔符开始----------------------------------
server.address=0.0.0.0
server.port=8080 ### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey #spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.level.root=INFO
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=192.168.199.110:9876;192.168.199.130:9876
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
#set the message track trace topic if you don't want use the default one
rocketmq.config.msgTrackTopicName=
rocketmq.config.ticketKey=ticket #Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
rocketmq.config.loginRequired=false
-----------------分隔符结束----------------------------------- 切换
cd /opt/soft/rocketmq-externals-master/rocketmq-console maven构建项目
mvn install -Dmaven.test.skip=true 切换
cd /opt/soft/rocketmq-externals-master/rocketmq-console/target 守护进程启动
nohup java -jar rocketmq-console-ng-2.0.0.jar &

访问控制台

安装包下载

链接: https://pan.baidu.com/s/1s--VdU-jZvCbS9jHvpHoIA  密码: eq11

RocketMQ4.7.1双主双从集群搭建的更多相关文章

  1. 基于Keepalived实现LVS双主高可用集群

    Reference:  https://mp.weixin.qq.com/s?src=3&timestamp=1512896424&ver=1&signature=L1C7us ...

  2. RocketMQ 2主2从 集群搭建

    安装环境 jdk1.7 alibaba-rocketmq-3.2.6.tar.gz VM虚拟机redhat6.5-x64:192.168.1.201  192.168.1.202 192.168.1. ...

  3. Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)

    之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192. ...

  4. 高可用Mysql架构_Mycat集群部署(HAProxy + 两台Mycat+Mysql双主双从)

    既然大家都知道了Mysql分布式在大型网站架构中的作用,在这里就不再阐述.本片博客文章是基于我曾经搭建过的一个Mysql集群基础上实现的,实现过双主热备.读写分离.分库分表. 博客链接:http:// ...

  5. RocketMQ学习笔记(16)----RocketMQ搭建双主双从(异步复制)集群

    1. 修改RocketMQ默认启动端口 由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全 ...

  6. 在Docker下进行MyCAT管理双主双从MySQL集群

    前言 在Docker下双主双从MySQL集群模拟 https://www.cnblogs.com/yumq/p/14259964.html 本文实验配置文件 Docker拉取MyCAT镜像 如果没启动 ...

  7. Mysql双主双从高可用集群的搭建且与MyCat进行整合

    1.概述 老话说的好:瞻前顾后.患得患失只会让我们失败,下定决心,干就完了. 言归正传,之前我们聊了Mysql的一主一从读写分离集群的搭建,虽然一主一从或一主多从集群解决了并发读的问题,但由于主节点只 ...

  8. MySQL集群搭建(6)-双主+keepalived高可用

    双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用. 1 概述 1.1 keepa ...

  9. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

随机推荐

  1. 转载:python的format格式化输出

    https://www.cnblogs.com/chunlaipiupiupiu/p/7978669.html python中format函数   ---恢复内容开始--- python中format ...

  2. spring-boot-route(三)实现多文件上传

    Spring Boot默认上传的单个文件大小1MB,一次上传的总文件大小为10MB. 单个文件上传使用MultipartFile参数来接收文件,多文件使用MultipartFile[]数组来接收,然后 ...

  3. C/C++的二分查找

    假设有一种温度传感器,已经测得它的电压和温度的对应关系,将电压值以ADC转换后的数字量的值表示,形成温度-AD值的对照表,如下. 大致成一条反比关系的曲线. ADC的底层驱动已经写好,对外有一个接口可 ...

  4. 1个LED的亮度自动控制

    控制任务和要求 通过程序控制LED的亮度按照要求变化 电路设计  程序设计 1 int bright_number = 0; //此变量用来表示LED的亮度 2 int bright_gap = 5; ...

  5. .NET Standard SDK 样式项目中的目标框架

    系列目录     [已更新最新开发文章,点击查看详细] 包表示形式 .NET Standard 引用程序集的主要分发载体是 NuGet 包. 实现会以适用于每个 .NET 实现的各种方式提供. NuG ...

  6. Linux init 详解(0,1,2,3,4,5,6)

    一.什么是 init init是Linux系统操作中不可缺少的程序之一. 所谓的init进程,它是一个由内核启动的用户级进程. 内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数 ...

  7. 超详细的TCP、Sokcket和SuperSocket与TCP入门指导

    前言 本文主要介绍TCP.Sokcket和SuperSocket的基础使用. 创建实例模式的SuperSocket服务 首先创建控制台项目,然后Nuget添加引用SuperSocket.Engine. ...

  8. linux网卡驱动程序架构

    以cs89x0网卡驱动为例:

  9. 多测师肖sir_pdf转word方法

    1.百度搜索 my love  pdf      在线转换 2.输入wps  下载软件

  10. MeteoInfoLab脚本示例:MODIS AOD

    MODIS的气溶胶光学厚度(AOD)产品应用很广,数据可以在Giovanni上下载:http://disc.sci.gsfc.nasa.gov/giovanni/overview/index.html ...