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.203  192.168.1.204

  Xshell4

部署方案


IP


主机名


用途


Broker角色


192.168.1.201


broker-a


NameServer,Broker


Master


192.168.1.202


broker-b


NameServer, Broker


Master


192.168.1.203


broker-a-s


NameServer, Broker


Slave


192.168.1.204


broker-b-s


NameServer, Broker


Slave

安装步骤:【两台机器同样操作  以201为例】

步骤一:解压安装文件alibaba-rocketmq-3.2.6.tar.gz

[[email protected]201 rocketmq]# tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local
[[email protected]201 rocketmq]# mv alibaba-rocketmq rocketmq

步骤二:修改配置

  配置一:创建存储路径 用于存储队列 索引 提交日志等信息

[[email protected]201 rocketmq]# mkdir -p /usr/local/rocketmq/store
[[email protected]201 rocketmq]# mkdir -p /usr/local/rocketmq/store/commitlog
[[email protected]201 rocketmq]# mkdir -p /usr/local/rocketmq/store/consumequeue
[[email protected]201 rocketmq]# mkdir -p /usr/local/rocketmq/store/index

配置二:Hosts添加信息

192.168.1.201 rocketmq-nameserver1
192.168.1.202 rocketmq-nameserver2
192.168.1.203 rocketmq-nameserver3
192.168.1.204 rocketmq-nameserver4
192.168.1.201 rocketmq-master1
192.168.1.202 rocketmq-master2
192.168.1.203 rocketmq-slave1
192.168.1.204 rocketmq-slave2

重启网卡:service network restart

相互ping一下,在201机器上ping 192.168.1.202   ping  rocketmq-nameserver2   ping  rocketmq-master2 。 202 203 204机器上也一样。

配置三:RocketMQ配置文件:

同步双写,配置目录:2m-2s-async

异步刷盘,配置目录:2m-2s-sync

#201
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties
#202
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties
#203
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties
#204
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字  broker-a.properties填broker-a  broker-b.properties填broker-b
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876 rocketmq-nameserver2:9876 rocketmq-nameserver3:9876 rocketmq-nameserver4:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/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
注意:brokerName:201 broker-a202 broker-b203 broker-a-s204 broker-b-s
brokerId201 202 是master 配置brokerId=0
203 204 是slave  配置brokerId=1
brokerRole201 202是master 配置 brokerRole=SYNC_MASTER
203 204是slave配置 brokerRole=SLAVE
配置四:修改日志配置文件
[[email protected]201 conf]# mkdir -p /usr/local/rocketmq/logs
[[email protected]201 conf]# cd /usr/local/rocketmq/conf && sed -i ‘s#${user.home}#/usr/local/rocketmq#g‘ *.xml

配置五:修改启动脚本参数 Xms和Xmx至少是1G  否则启动不起来  Xmn一般是前者的一半

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

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

步骤三:启动:先启动两台机器的NameServer,再启动两台机器的Borker,关机的时候顺序相反,先关闭两台机器的Broker,再关闭两台机器的Nameserver。在启动 BrokerServer 之前先关闭防火墙.

启动一:NameServer  201 202 203 204
cd /usr/local/rocketmq/bin
nohup sh mqnamesrv &
#查看进程
jps
#查看日志
tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log

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

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

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

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


原文地址:https://www.cnblogs.com/cac2020/p/9480430.html

时间: 2024-07-29 01:09:44

RocketMQ 2主2从 集群搭建的相关文章

Redis 3主-3从集群搭建

CentOS7的安装及配置 1.使用VirtualBox最小化安装centos 设置系统内存大小:3072MB:设置硬盘大小:20GB,格式:普通(VDI) 2.centos配置静态ip 修改VirtualBox中当前主机的网络设置 进入当前主机控制台,修改网卡设置 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3&quo

RocketMQ集群搭建

下面是双主双从异步复制集群搭建 主机分配 两台主机192.168.86.126和192.168.86.127 nameServer1 注册中心 192.168.86.126:9876 nameServer2 注册中心 192.168.86.127:9876 broker-a broker-a-master 192.168.86.126:10911 broker-a.properties broker-b-s broker-b-slave 192.168.86.126:11011 broker-b

RocketMQ集群搭建及安装rocketmq-console

RocketMQ集群搭建-4.2.0版本https://juejin.im/post/5a911ea16fb9a0633f0e36a1 直接在官网下载的二进制包,编译容易出现问题 启动broker,报错:rocketmq Cannot allocate memory 可根据机器内存大小,配置jvm参数 http://www.cnblogs.com/quchunhui/p/8350904.html 安装rocketmq-console - 大墨垂杨 - 博客园https://www.cnblogs

Kafka【第一篇】Kafka集群搭建

Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行统计,分析出当前的流行趋势 有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点: 数据是又上游模块产生,上游模块,使用上游模块的数据计算.统计.分析,这个时候就可以使用消息系统,尤其是分布式消息系统! 2.Kafka的定义 What is Kafka:它是一个分布

linux 下heartbeat简单高可用集群搭建

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.通过Heartbeat我们可以实现双机热备,以实现服务的持续性. linux下基于heartbeat的简单web服务的高可用集群搭建 首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc, node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149 node2的eth0IP :19

mysql5.7 MGR集群搭建

mysql5.7 MGR集群搭建部署 此文章由队员(谆谆)拟写 此文章来自 乌龟运维 官网 wuguiyunwei.com QQ群 602183872 最近看了一下mysql5.7的MGR集群挺不错的,有单主和多主模式,于是乎搭建测试了一下效果还不错,我指的不错是搭建和维护方面都比较简单.网上绝大多数都是单主模式,当然我这里也是,为了加深印象,特意记录一下搭建过程,等以后再去尝试多主模式,相信大家现在数据库的瓶颈基本都是在写,读写分离虽然是一种可行的解决方案,但是如果数据量很大,写一样会有问题,

Mosquitto搭建Android推送服务(二)Mosquitto集群搭建

文章钢要: 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理,但是我在查找资料的时候发现并不多,所以整理了一下,搭建简单的Mosquitto集群模式. 首先集群需要2台以上的Mosquitto服务器.安装方式同上. 先了解下Mosquitto集群模式的逻辑图,如下: 可以看出,无论在那台服务器中订阅了信息,无论在那台服务器上发布信息,订阅者都可以收到发布的信息.那么下一步我们着手搭建集群服务器,为了方便只演示2台服

kafka学习(二)-zookeeper集群搭建

zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是hadoop的一个子项目,其发展历程无需赘述.在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制 不适合在某些应用中使用,因此需要有一种可靠的.可扩展的.分布式的.可配置的协调机制来统一系统的状态.Zookeeper的目的就在于此. 1.角色 Zookeeper中的角色主要有以下三

Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建

作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond 本节主要内容 操作系统环境准备 Hadoop 2.4.1集群搭建 Spark 1.5.0 集群部署 注:在利用CentOS 6.5操作系统安装spark 1.5集群过程中,本人发现Hadoop 2.4.1集群可以顺利搭建,但在Spark 1.5.0集群启动时出现了问题(可能原因是64位操作系统原因,源码需要重新编译,但本人没经过测试),经本人测试在ubuntu 10.04 操作系统上可以顺利成功搭建.大家可以利用CentOS