双RocketMq集群的搭建
一、双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集群的搭建相关推荐
- 第三章:RocketMQ集群与搭建
数据复制与刷盘策略 复制策略 复制策略是Broker的Master与Slave间的数据同步方式.分为同步复制与异步复制 同步复制(SYNC_MASTER):消息写入master后,master会等 ...
- RocketMQ集群之搭建2m2s集群(配置说明)
搭建2m2s集群 下面通过docker搭建2master+2slave的集群. #创建2个master #nameserver1 docker create -p 9876:9876 --name r ...
- RocketMQ集群(版本4.7.1)搭建教程
快速搭建RocketMQ集群 前言:最近在学习了解RocketMQ,为了更好地对照了解,需要安装一套RocketMQ集群,自己实际上手操作一番.首先在google搜索一番,找了一篇教程,看了下,比较详 ...
- Linux教程:RocketMq介绍以及集群服务搭建(双主双从同步双写)并安装可视化平台RocketMq-Dashboard
一.介绍 1.什么是MQ MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构.一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用 ...
- linux环境下rocketMq双master集群搭建
为什么要使用集群 在生产环境中,经常会有意外的情况发生,对于rocketmq也不例外,单节点情况下,如果出现网络闪断,服务器掉电或宕机之类的,如果服务器不能及时恢复,很可能造成丢消息的情况,因此,集群 ...
- rocketMq双master集群模式下故障演练
在上一篇,我们简单搭建了rocketMq双master的集群,沿用这个思路,这一篇我们用代码来模拟一下rocketMq集群故障情况下完成自动切换的效果. 1.启动两个节点的broker和nameser ...
- Rocketmq集群搭建
Rocketmq集群搭建 拓扑 主机名 网卡名 IP 作用 mq-master01 ens33 192.168.162.10 broker-a mq-master02 ens33 192.168.16 ...
- 【有料】4 种高可用 RocketMQ 集群搭建方案!
背景 笔者所在的业务线,最初化分为三个服务,由于业务初期业务复杂度相对简单,三个业务服务都能很好的独立完成业务功能. 随着产品迭代,业务功能越来越多后慢慢也要面对高并发.业务解耦.分布式事务等问题,所 ...
- 【RocketMQ】ubuntu18下部署RocketMQ集群
技术架构 - Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟. - Con ...
最新文章
- 二叉查找树(binary search tree)详解
- Cloud Programming Simplifie : A Berkeley View on Serverless Computing
- mfc控件变量没定义_WinCC字符串归档变量查询
- 学习过程中的一些细节
- B站UP主都在关注的微信公众号
- scanf()函数错误把输入缓存里的回车作为一次字符输入
- 西瓜书《支持向量机SVM》 原始形式推导+拉格朗日乘数法的SVM形式+SVM对偶形式推导+SMO算法推导
- C++子类的构造函数
- 标定工具:---improvedOcamCalib的使用及标定结果
- ACID, BASE和CAP
- 最新!中科院分区发布2021年期刊重大调整
- Dictionary 索引超出数组界限
- G480改装固态硬盘、光驱变机械硬盘以及装系统(下)
- C语言malloc函数的用法
- MD5加密算法原理及实现
- Java导出excel合并单元格边框消失问题
- 中文繁简互换以及获取中文字符串首字母
- win11QQ文件另存为崩溃
- android 杂项-备忘
- 简单推导:关于矩阵主子式的几点性质
热门文章
- mysql 举例_MySQL 语句举例(一)
- 笔记本电脑关机快捷键_2020年双十一值得入手的高性价比笔记本电脑外设推荐...
- Yolo系列知识点梳理(Yolov1-v5)
- LeetCode 2132. 用邮票贴满网格图(DP/二维差分)
- LeetCode 1191. K 次串联后最大子数组之和(前缀和+分类讨论)
- LeetCode MySQL 618. 学生地理信息报告(row_number)
- LeetCode 665. 非递减数列(双指针)
- cron 每周一执行_详解定时任务中的 cron 表达式
- xshell连接Linux Server
- oracle事务重要属性,Oracle中的事务(2)--属性和隔离级别