随笔分类 - MQ
摘要:背景 最近在公司遇到这么一个问题:我在测试环境中搭建了一套RocketMQ,开发想要使用本机连接进行生产消费的测试,但是发现服务无法正常访问,报如下错误: send heart beat to broker error {"fields": {"underlayError":{"Op":"dial"
阅读全文
摘要:背景 前面RocketMQ系列中分享了如何在机器上搭建rocketmq,其中nameserver和broker都是以nohup的方式启动。在实际运维过程中,这种启动存在一个比较麻烦的问题:比如机器宕机后,重新启动机器,broker和namserver服务无法自动随开机拉起,还需要我们登陆到每台机器上
阅读全文
摘要:背景 最近公司的项目中使用rocketmq,部署方式为多master-多slave。项目上线一周后,有一天调用方的开发突然找我,说我们的MQ服务的请求调用有延时。 我登陆到broker的机器上查看了broker的store.log,发现pagacache的大部分响应都在0~50ms,有部分请求在10
阅读全文
摘要:背景 公司已上线的项目中的broker集群有部分请求响应较慢,所以进行了线上broker服务的扩容。扩容后整体broker集群的负载下来了不少。这样一周后,某天看rocketmq的客户端的日志中零星打印了报错:system busy。 问题分析 为什么broker集群扩容了,仍旧有报错呢?和开发对了
阅读全文
摘要:1. 前言 本文介绍如何在linux下利用docker快速搭建kafa单机集群 2.项目 地址:https://github.com/wurstmeister/kafka-docker 3.环境安装 3.1 安装docker-compose 1)安装Python3 参考Python系列 2)安装相关
阅读全文
摘要:这里汇总rocketmq的控制台的一些常见问题: 1. consumer group这里TPS只显示master节点的消息TPS,如果是master-slave模式,从slave消费的TPS不会显示在这里。 所以实际显示的TPS小于真实的TPS 2. 删除某个topic后,之前已经从topic消费的
阅读全文
摘要:背景 rocketmq部署到生产环境之后,需要部署监控来监测rocketmq的可用性,本文使用比较成熟的promethues和grafana对rmq进行监控。 效果图 1. 监控rocketmq的运行状态信息 rocketmq_exporter+grafana 2. 监控rocketmq的机器节点信
阅读全文
摘要:背景 接前文,Promethues已经配置完毕,下面通过导入的Grafana的面板来配置RocketMQ监控页面 Dashboard 这里我们直接使用Grafana现成的面板配置 node_exporter:https://grafana.com/grafana/dashboards/1860 ro
阅读全文
摘要:背景 我搭建了一套rocketmq的集群,现在要对下表所示的rocketmq集群进行监控,这里前面已经介绍到了node_exporter和rocketmq_exporter,那么今天就在Promethues上配置对应的exporter。 机器节点ip备注 promethues 192.168.0.5
阅读全文
摘要:1.背景 接前文,之前分享了node_exporter的安装,对于rocketmq而言,不仅要监控最基本的机器信息,同时也要监控rocketmq的服务可用性。常见的一些服务指标包括:producer的消息生产tps,consumer的消费tps,整个集群的broker的tps等。这里我们使用rock
阅读全文
摘要:简介 在运维监控系统中,一般都有一个叫做agent的程序。它运行在被采集机器上,用于采集机器或者其上运行服务的相关信息。常见的采集数据包括机器的cpu,内存,disk等,或者是上面跑的一些常见开源软件的信息(比如rocketmq的运行信息),这里介绍一个用于采集机器信息的小程序:node_expor
阅读全文
摘要:简介 本文主要介绍updateBrokerConfig、brokerStatus,wipeWritePerm和getBrokerConfig 命令 updateBrokerConfig :动态更新broker的配置(重启broker后会配置失效) brokerStatus :获取broker的运行时
阅读全文
摘要:简介 本文主要介绍clusterList和clusterRT命令 命令 clusterList:查看集群列表 clusterRT:测试集群的响应耗时 例子 clusterList 1)帮助 ./mqadmin clusterList -h 2)查看集群基本信息 ./mqadmin clusterLi
阅读全文
摘要:1.介绍 rocketmq由consumer,producer,broker三大块组成,如何对这三类服务进行运维操作呢?这里介绍rocketmq自带的命令行工具:mqadmin 2.位置 项目:https://github.com/apache/rocketmq.git ${PWD}/rocketm
阅读全文
摘要:运维场景 我搭建了一个3m-3s的rocketmq集群(参考:3m-3s的rocketmq搭建),假设限制有一套master节点的机器发生了故障,需要摘除机器,该如何进行平滑运维? 例如我搭建了一个3m-3s的broker集群,架构如下: 如果我要摘除集群中的broker-a节点,该如何操作? 首先
阅读全文
摘要:利用9台机器搭建一个3分片的broker集群,一共有3个broker实例(3m),每个master有一个slave,使用同步刷盘模式。 1.引言 本文主要介绍如何在三台机器上搭建一个3m-3s的rocketmq的集群。 2.环境准备 机器名 机器 机器配置 备注 nameserver1 192.16
阅读全文
摘要:前言 公司的项目里面使用了rocketmq,开发建议使用rocketmq的最新版本4.7.1,并采用dledger模式部署。但是我在部署测试dledger模式的时候遇到了一个坑,在这里分享一下,避免大家重复踩坑。 环境 如图是我搭建的rocketmq的dledger集群,集群为两分片:broker-
阅读全文
摘要:利用6台机器搭建一个3分片的broker集群,一共有3个broker实例(3m),采用同步刷屏模式 1.引言 本文主要介绍如何在三台机器上搭建一个3m(无slave节点的)rocketmq的集群。 2.环境准备 机器名 机器IP 机器配置 备注 nameserver1 192.168.11.1 4C
阅读全文
摘要:1.环境参考 benchmark环境搭建:参考单机快速搭建单broker环境 被压测环境:rocketmq的dledger集群 2.源码位置 https://github.com/apache/rocketmq/tree/master/example/src/main/java/org/apache
阅读全文
摘要:接上文:docker-compose搭建rocketmq集群环境 本文介绍如何使用play-docker-dledger.sh搭建rocketmq的集群环境 1 清理环境 这里需要删除刚才docker-compose创建的docker的bridge网络,否则会报错:Error response fr
阅读全文