一、双Master RocketMq集群的搭建

  1、服务器环境:

序号 IP 用户名 角色 模式
1 192.168.211.128 root nameServer1,brokerServer1 Master1
2 192.168.211.129 root nameServer2,brokerServer2 Master1

  2、添加hosts信息

  vim /etc/hosts

IP NAME
192.168.211.128 rocketmq-nameserver1
192.168.211.128 rocketmq-master1
192.168.211.129 rocketmq-nameserver2
192.168.211.129 rocketmq-master2

  3、上传解压rocketMq到服务器

  上传alibaba-rocketmq-3.2.6.tar.gz文件至/usr/local/install
  解压tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local/software

  4、创建软连接(两台机器)

  ln -s alibaba-rocketmq rocketmq

  

  5、创建存储路径(两台机器)

  # mkdir /usr/local/software/rocketmq/store
  # mkdir /usr/local/software/rocketmq/store/commitlog
  # mkdir /usr/local/software/rocketmq/store/consumequeue
  # mkdir /usr/local/software/rocketmq/store/index

  6、RocketMQ配置文件(两台机器)

  

  # vim /usr/local/software/rocketmq/conf/2m-noslave/broker-a.properties
  # vim /usr/local/software/rocketmq/conf/2m-noslave/broker-b.properties

  

 1 将a.properties和b.properties文件中的内容全部清掉(用下面的内容替换掉)
 2     #所属集群名字
 3     brokerClusterName=rocketmq-cluster
 4     #broker名字,注意此处不同的配置文件填写的不一样  例如:在a.properties 文件中写 broker-a  在b.properties 文件中写 broker-b
 5     brokerName=broker-a|broker-b
 6     #0 表示 Master,>0 表示 Slave
 7     brokerId=0
 8     #nameServer地址,分号分割
 9     namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
10     #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
11     defaultTopicQueueNums=4
12     #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
13     autoCreateTopicEnable=true
14     #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
15     autoCreateSubscriptionGroup=true
16     #Broker 对外服务的监听端口
17     listenPort=10911
18     #删除文件时间点,默认凌晨 4点
19     deleteWhen=04
20     #文件保留时间,默认 48 小时
21     fileReservedTime=120
22     #commitLog每个文件的大小默认1G
23     mapedFileSizeCommitLog=1073741824
24     #ConsumeQueue每个文件默认存30W条,根据业务情况调整
25     mapedFileSizeConsumeQueue=300000
26     #destroyMapedFileIntervalForcibly=120000
27     #redeleteHangedFileInterval=120000
28     #检测物理文件磁盘空间
29     diskMaxUsedSpaceRatio=88
30     #存储路径
31     storePathRootDir=/usr/local/software/rocketmq/store
32     #commitLog 存储路径
33     storePathCommitLog=/usr/local/software/rocketmq/store/commitlog
34     #消费队列存储路径存储路径
35     storePathConsumeQueue=/usr/local/software/rocketmq/store/consumequeue
36     #消息索引存储路径
37     storePathIndex=/usr/local/software/rocketmq/store/index
38     #checkpoint 文件存储路径
39     storeCheckpoint=/usr/local/software/rocketmq/store/checkpoint
40     #abort 文件存储路径
41     abortFile=/usr/local/software/rocketmq/store/abort
42     #限制的消息大小
43     maxMessageSize=65536
44     #flushCommitLogLeastPages=4
45     #flushConsumeQueueLeastPages=2
46     #flushCommitLogThoroughInterval=10000
47     #flushConsumeQueueThoroughInterval=60000
48     #Broker 的角色
49     #- ASYNC_MASTER 异步复制Master
50     #- SYNC_MASTER 同步双写Master
51     #- SLAVE
52     brokerRole=ASYNC_MASTER
53     #刷盘方式
54     #- ASYNC_FLUSH 异步刷盘
55     #- SYNC_FLUSH 同步刷盘
56     flushDiskType=ASYNC_FLUSH
57     #checkTransactionMessageEnable=false
58     #发消息线程池数量
59     #sendMessageThreadPoolNums=128
60     #拉消息线程池数量
61     #pullMessageThreadPoolNums=128

  7、修改日志文件(两台机器)

  

  # mkdir -p /usr/local/software/rocketmq/logs
  # cd /usr/local/software/rocketmq/conf && sed -i 's#${user.home}#/usr/local/software/rocketmq#g' *.xml

  8、修改启动脚本参数(修改启动脚本参数两台机器)

  

  8.1、vim /usr/local/software/rocketmq/bin/runbroker.sh

  #===========================================================================================
  # JVM Configuration
  #===========================================================================================

  JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -
  XX:PermSize=128m -XX:MaxPermSize=320m"

  8.2、vim /usr/local/software/rocketmq/bin/runserver.sh
  JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -
  XX:PermSize=128m -XX:MaxPermSize=320m"

  

  9、启动NameServer(特别注意:在启动 BrokerServer 之前先关闭防火墙)

  

  # cd /usr/local/software/rocketmq/bin
  # nohup sh mqnamesrv &

  10、启动BrokerServer A【192.168.211.128】

  # cd /usr/local/software/rocketmq/bin
  # nohup sh mqbroker -c /usr/local/software/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
  # netstat -ntlp
  # jps
  # tail -f -n 500 /usr/local/software/rocketmq/logs/rocketmqlogs/broker.log
  # tail -f -n 500 /usr/local/software/rocketmq/logs/rocketmqlogs/namesrv.log

  11、启动BrokerServer B 【192.168.211.129】

  

  # cd /usr/local/software/rocketmq/bin
  # nohup sh mqbroker -c /usr/local/software/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
  # netstat -ntlp
  # jps
  # tail -f -n 500 /usr/local/software/rocketmq/logs/rocketmqlogs/broker.log
  # tail -f -n 500 /usr/local/software/rocketmq/logs/rocketmqlogs/namesrv.log

  12、停止服务

    先停止 broker 在停止  namesrv
    cd /usr/local/software/rocketmq/bin
    # sh mqshutdown broker
    # sh mqshutdown namesrv

  

转载于:https://www.cnblogs.com/lls1413/p/6875531.html

双RocketMq集群的搭建相关推荐

  1. 第三章:RocketMQ集群与搭建

    数据复制与刷盘策略 复制策略 ​ 复制策略是Broker的Master与Slave间的数据同步方式.分为同步复制与异步复制 同步复制(SYNC_MASTER):消息写入master后,master会等 ...

  2. RocketMQ集群之搭建2m2s集群(配置说明)

    搭建2m2s集群 下面通过docker搭建2master+2slave的集群. #创建2个master #nameserver1 docker create -p 9876:9876 --name r ...

  3. RocketMQ集群(版本4.7.1)搭建教程

    快速搭建RocketMQ集群 前言:最近在学习了解RocketMQ,为了更好地对照了解,需要安装一套RocketMQ集群,自己实际上手操作一番.首先在google搜索一番,找了一篇教程,看了下,比较详 ...

  4. Linux教程:RocketMq介绍以及集群服务搭建(双主双从同步双写)并安装可视化平台RocketMq-Dashboard

    一.介绍 1.什么是MQ MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构.一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用 ...

  5. linux环境下rocketMq双master集群搭建

    为什么要使用集群 在生产环境中,经常会有意外的情况发生,对于rocketmq也不例外,单节点情况下,如果出现网络闪断,服务器掉电或宕机之类的,如果服务器不能及时恢复,很可能造成丢消息的情况,因此,集群 ...

  6. rocketMq双master集群模式下故障演练

    在上一篇,我们简单搭建了rocketMq双master的集群,沿用这个思路,这一篇我们用代码来模拟一下rocketMq集群故障情况下完成自动切换的效果. 1.启动两个节点的broker和nameser ...

  7. Rocketmq集群搭建

    Rocketmq集群搭建 拓扑 主机名 网卡名 IP 作用 mq-master01 ens33 192.168.162.10 broker-a mq-master02 ens33 192.168.16 ...

  8. 【有料】4 种高可用 RocketMQ 集群搭建方案!

    背景 笔者所在的业务线,最初化分为三个服务,由于业务初期业务复杂度相对简单,三个业务服务都能很好的独立完成业务功能. 随着产品迭代,业务功能越来越多后慢慢也要面对高并发.业务解耦.分布式事务等问题,所 ...

  9. 【RocketMQ】ubuntu18下部署RocketMQ集群

    技术架构 - Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟. - Con ...

最新文章

  1. 二叉查找树(binary search tree)详解
  2. Cloud Programming Simplifie : A Berkeley View on Serverless Computing
  3. mfc控件变量没定义_WinCC字符串归档变量查询
  4. 学习过程中的一些细节
  5. B站UP主都在关注的微信公众号
  6. scanf()函数错误把输入缓存里的回车作为一次字符输入
  7. 西瓜书《支持向量机SVM》 原始形式推导+拉格朗日乘数法的SVM形式+SVM对偶形式推导+SMO算法推导
  8. C++子类的构造函数
  9. 标定工具:---improvedOcamCalib的使用及标定结果
  10. ACID, BASE和CAP
  11. 最新!中科院分区发布2021年期刊重大调整
  12. Dictionary 索引超出数组界限
  13. G480改装固态硬盘、光驱变机械硬盘以及装系统(下)
  14. C语言malloc函数的用法
  15. MD5加密算法原理及实现
  16. Java导出excel合并单元格边框消失问题
  17. 中文繁简互换以及获取中文字符串首字母
  18. win11QQ文件另存为崩溃
  19. android 杂项-备忘
  20. 简单推导:关于矩阵主子式的几点性质

热门文章

  1. mysql 举例_MySQL 语句举例(一)
  2. 笔记本电脑关机快捷键_2020年双十一值得入手的高性价比笔记本电脑外设推荐...
  3. Yolo系列知识点梳理(Yolov1-v5)
  4. LeetCode 2132. 用邮票贴满网格图(DP/二维差分)
  5. LeetCode 1191. K 次串联后最大子数组之和(前缀和+分类讨论)
  6. LeetCode MySQL 618. 学生地理信息报告(row_number)
  7. LeetCode 665. 非递减数列(双指针)
  8. cron 每周一执行_详解定时任务中的 cron 表达式
  9. xshell连接Linux Server
  10. oracle事务重要属性,Oracle中的事务(2)--属性和隔离级别