RocketMq集群搭建简单操作

RocketMq 集群配置--linux(centos7)

1. RocketMq优点

强调集群无单点,可扩展,任意一点高可用,水平可扩展

方便集群配置,而且容易扩展(横向和纵向),通过slave的方式每一点都可以实现高可用

支持上万个队列,顺序消息

顺序消费是实现在同一队列的,如果高并发的情况就需要队列的支持,rocketmq可以满足上万个队列同时存在

任性定制你的消息过滤

rocketmq提供了两种类型的消息过滤,也可以说三种可以通过topic进行消息过滤、可以通过tag进行消息过滤、还可以通过filter的方式任意定制过滤

消息的可靠性(无Buffer,持久化,容错,回溯消费)

消息无buffer就不用担心buffer回满的情况,rocketmq的所有消息都是持久化的,生产者本身可以进行错误重试,发布者也会按照时间阶梯的方式进行消息重发,消息回溯说的是可以按照指定的时间进行消息的重新消费,既可以向前也可以向后(前提条件是要注意消息的擦除时间)

海量消息堆积能力,消息堆积后,写入低延迟

针对于provider需要配合部署方式,对于consumer,如果是集群方式一旦master返现消息堆积会向consumer下发一个重定向指令,此时consumer就可以从slave进行数据消费了

分布式事务

我个人感觉rocketmq对这一块说的不是很清晰,而且官方也说现在这块存在缺陷(会令系统pagecache过多),所以线上建议还是少用为好

消息失败重试机制

针对provider的重试,当消息发送到选定的broker时如果出现失败会自动选择其他的broker进行重发,默认重试三次,当然重试次数要在消息发送的超时时间范围内。

针对consumer的重试,如果消息因为各种原因没有消费成功,会自动加入到重试队列,一般情况如果是因为网络等问题连续重试也是照样失败,所以rocketmq也是采用阶梯重试的方式。

定时消费

除了上面的配置,在发送消息是也可以针对message设置setDelayTimeLevel

活跃的开源社区

现在rocketmq成为了apache的一款开源产品,活跃度也是不容怀疑的

成熟度(经过双十一考验)

针对本身的成熟度,我们看看这么多年的双十一就可想而知了

>>>相关文档介绍 [简书]

2. 多master配置(两个)

  • 两台linux虚拟机 ip分别为192.168.9.129 192.168.9.130

    需要确认java环境已安装

  • 配置两台主机的host信息 (ip换成自己的ip)

    192.168.9.129 rocketNameSrv2
    192.168.9.129 rocketBrokerMaster2
    192.168.9.130 rocketNameSrv1
    192.168.9.130 rocketBrokerMaster1
  • 重启网卡 (两台虚拟机)

    输入命令 :service network restart

    运行图:
    image
  • 检查配置是否生效 在129这台 ping 130这台 bing telnet 9876端口

    ping rocketNameSrv1

    ping rocketBrokerMaster1

    telnet rocketNameSrv1 9876

    telnet rocketBrokerMaster1 9876

备注:telnet不通 请检查防火墙

  • 下载需要的rocketmq 包 并解压到对应目录

    这里使用的是rocketmq-4.3.2版本

  • 建立软连接 cd rocketmq-4.3.2 上层目录中

    输入命令:ln -s rocketmq-4.3.2 rocketmq

  • 创建存储仓库 只创建store、commitLog、consumequeue、index文件夹

    输入命令:

    mkdir ./rocketmq/store

    mkdir ./rocketmq/store/commitlog

    mkdir ./rocketmq/store/consumequeue

    mkdir ./rocketmq/store/index

  • 修改配置文件 在conf/2m-noslave(没从) 下 broker-a.propertiesbroker-b.properties进行修改(添加) 备注----brokerName不做修改

   #指定broker Ip  
    brokerIp1=192.168.9.129
    # Name Server地址
    namesrvAddr=rocketNameSrv1:9876;rocketNameSrv2:9876
    # 存储路径
    storePathRootDir=/opt/rocketmq/store
    # commitLog 存储路径
    storePathCommitLog=/opt/rocketmq/store/commitlog
    # 消息队列存储路径
    storePathConsumeQueue=/opt/rocketmq/store/consumequeue
    # 消息索引存储路径
    storePathIndex=/opt/rocketmq/store/index
    # checkpoint 文件存储路径
    storePathCheckpoint=/opt/rocketmq/store/checkpoint
    # abort 文件存储路径
    abortFile=/opt/rocketmq/store/abort
    # commitlog目录所在分区的最大使用比例,如果commitlog目录所在的分区使用比例大于该值,则触发过期文件删除
    diskMaxUsedSpaceRatio=88
  • 修改Rocketmq JVM启动参数 /rocket/bin JAVA_OPT启动参数配置(根据情况调整)

    vi runbroker.sh

    vi runserver.sh

    说明:这里只调整了 -Xms1g -Xmx1g -Xmn512m

    -XX:MaxDirectMemorySize=1g

image
  • 启动两台的nameSrv bin目录下

    nohup sh ./mqnamesrv > /opt/rocketmq/store/namesvr.log 2>&1 &

  • 分别启动两台的broker bin目录下

    第一台

    nohup sh ./mqbroker -c /opt/rocketmq/conf/2m-noslave/broker-a.properties > /opt/rocketmq/store/broker.log 2>&1 &

    第二台

    nohup sh ./mqbroker -c /opt/rocketmq/conf/2m-noslave/broker-b.properties > /opt/rocketmq/store/broker.log 2>&1

  • 检查是否生效 bin目录下

    sh mqadmin clusterList -n "192.168.9.130:9876;192.168.9.129:9876"

image

n主n个

  • 也可以通过console连接查看
rocketmq.config.namesrvAddr=192.168.9.129:9876;192.168.9.130:9876
image
  • 备注:多主仅需要在相应中多建配置文件指定不同brokerName即可

3. 主备异步/同步

  • 前面配置时已经注意到 2m-noslave这个文件夹 故名思意

    image

    主备对应的文件夹前缀为: 2m-2s 同步 sync 异步async 同步异步区别链接

因此,需要配置主备的更具具体选择进入相应文件夹配置

  • 修改配置 (保持原有内容不变 添加多主中配置)

    说明: 带-s的代表slave ,更具机器定义主/或从选择配置

    image
  • 配置好后,broker启动时 -c 指定新的配置文件路径即可 添加多主多从同多主扩展相同

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容