双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

  

时间: 2024-10-10 15:46:44

双RocketMq集群的搭建的相关文章

RocketMq 集群方式搭建 步骤教学包教包会

mq集群方式搭建 有段时间没写这些技术文章了, 今天抽空写一点,不然自己都快忘记了 这篇文章记录了rocketmq 集群方式搭建的过程, 也是自己半天的成果记录吧! 感兴趣的朋友点个赞在走呗! 好了,废话不多,下面开搞. 本文章参考https://blog.csdn.net/qq_35400008/article/details/82467562#comments 这个博客文章编写 准备工作 第一步:关闭要搭建的所有机器的防火墙 第二步:每台机器执行下如下步骤 [[email protected

rocketmq那些事儿之集群环境搭建

上一篇入门基础部分对rocketmq进行了一个基础知识的讲解说明,在正式使用前我们需要进行环境的搭建,今天就来说一说rockeketmq分布式集群环境的搭建 前言 之前已经介绍了rocketmq的入门基础,相信各位已经基本了解,今天进行一个分布式集群的搭建,其实可以通过本地源码来进行源码的使用和学习,但是作为开发维护人员还是需要去了解分布式集群的部署流程,方便后面集群的调试和测试 配置参数 注意官方给的配置文件都是默认的,最简单的版本,线上的环境需要根据自己需求来进行配置,在这里说明下其中的部分

RocketMQ 双主集群

* { margin: 0; padding: 0 } body { font: 13.34px helvetica, arial, freesans, clean, sans-serif; color: black; line-height: 1.4em; background-color: #F8F8F8; padding: 0.7em } p { margin: 1em 0; line-height: 1.5em } table { font-size: inherit; font: 10

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

高可用,多路冗余GFS2集群文件系统搭建详解

2014.06 标签:GFS2 multipath 集群文件系统 cmirror 实验拓扑图: 实验原理: 实验目的:通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和Share Storage之间的多路冗余,最后实现存储的mirror复制达到高可用. GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统.它是由红帽公司开发出来的,允许所有集群节点并行访问.元数据通常会保存在共享

Apache Storm 集群环境搭建

Apache storm 是一个由twitter开源的大数据处理系统,与其他系统不同的是,storm旨在用于分布式实时处理并且与语言无关.笔者所认知的storm使用场景诸 如 实时日志分析.网站用户行为实时分析.实时计算等,目前很多公司也都把storm作为自己的大数据架构的一部分,来实现一些实时业务的处理. 相信大家都和我有一样的认知,那就是现在的技术都是项目驱动模式,没有最好的技术,只有最适合自己项目的技术.下面先跟大家分享一下我对storm的一些简单了解: storm的优点: 1.简单的编程

rocketmq集群部署(多master多slave异步)

一.最近公司在做队列的技术选型,经过调研,决定使用rocketmq作为整个架构的队列层,我们之前的公司是用RabbitMQ,集群部署参考我之前的文章:RabbitMQ集群部署:rocketmq集群由NameServer和Broker两种角色组成,NameServer是无状态的可以横向部署多台达到消除单点的目的:Broker分多master.多master多slave同步.多master多slave异步这三种部署方案,一般生产环境都使用的是多master多slave异步这种方案,关于这三种方案的优

Redis Cluster集群部署搭建

在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉.Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品.今天,就分享一下安装Redis集群的过程. 搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口 我的集群分配如下,每个

项目进阶 之 集群环境搭建(三)多管理节点MySQL集群

上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案. 1.单管理节点MySQL集群和多管理节点MySQL集群 上一篇的博客中,我们搭建的MySQL集群架构中,只存在一个管理节点,这样搭建的集群可以用如下所示的结构表示. 仔细分析上图就会发现,上图所示的单管理节点MySQL集群存在当唯一的管理节点由于网络.断电.压力过大等各种原因宕机后,数据节点和SQL节点将会各自为