![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mq
文章平均质量分 92
公众号-测试生财
分享各类测试技术和资源,请关注微信公众号:测试生财。
展开
-
Centos搭建EMQX和EMQ-Dashboard(踩坑精华版)
背景最近在做物联网平台性能分析,最终选择EMQX作为对比对象。我小试牛刀地搭建了一下EMQX,并顺便安装了一下EMQX的Dashboard插件:emqx-dashboard。简介:EMQX:EMQ X(Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。EMQX-Dashboard:EMQ X的Web控制台,项目地址:https://github.com/emqx/emqx-dashboar.原创 2021-02-01 08:39:58 · 2933 阅读 · 2 评论 -
RocketMQ系列:使用systemd管理nameserver和broker
背景前面RocketMQ系列中分享了如何在机器上搭建rocketmq,其中nameserver和broker都是以nohup的方式启动。在实际运维过程中,这种启动存在一个比较麻烦的问题:比如机器宕机后,重新启动机器,broker和namserver服务无法自动随开机拉起,还需要我们登陆到每台机器上去操作启动服务。又没有比较好的方式管理启动脚本和停止脚本呢?这里介绍一个系统管理组件:systemd。我们可以编写unit file,将nameserver和broker作为一个systemd下面的一个原创 2020-12-29 08:55:08 · 1211 阅读 · 0 评论 -
rocketmq线上集群性能优化:异步刷盘与异步复制
背景最近公司的项目中使用rocketmq,部署方式为多master-多slave。项目上线一周后,有一天调用方的开发突然找我,说我们的MQ服务的请求调用有延时。我登陆到broker的机器上查看了broker的store.log,发现pagacache的大部分响应都在0~50ms,有部分请求在100ms~200ms。看来broker集群的负载有些高了。方案我和几个开发对了下应对方案:一是通过扩容broker集群降低broker的处理压力二是优化当前的broker配置来提升性能最终考原创 2020-11-30 08:23:50 · 810 阅读 · 0 评论 -
docker快速搭建kafka集群
1. 前言本文介绍如何在linux下利用docker快速搭建kafa单机集群2.项目地址:https://github.com/wurstmeister/kafka-docker3.环境安装3.1 安装docker-compose1)安装Python3参考Python系列2)安装相关libUbuntu:sudo apt install -y libffi-dev python-dev gcc*Centos:sudo yum install -y python-de原创 2020-10-30 08:45:00 · 624 阅读 · 0 评论 -
RocketMQ系列:rocketmq的运维控制台FAQ(陆续补充ing)
这里汇总rocketmq的控制台的一些常见问题:1. consumer group这里TPS只显示master节点的消息TPS,如果是master-slave模式,从slave消费的TPS不会显示在这里。所以实际显示的TPS小于真实的TPS2. 删除某个topic后,之前已经从topic消费的消费组不会被删除3. 这里Delay指的是consumer的offset与topic落盘的offset的差值,如果为-1则表示还未开始消费,如果是0则表示全部消费完毕...原创 2020-10-27 08:05:48 · 801 阅读 · 0 评论 -
Grafana+Promethues配置RocketMQ监控
背景接前文,Promethues已经配置完毕,下面通过导入的Grafana的面板来配置RocketMQ监控页面Dashboard这里我们直接使用Grafana现成的面板配置node_exporter:https://grafana.com/grafana/dashboards/1860rocketmq_exporter的dashboard地址:https://grafana.com/grafana/dashboards/10477创建面板node_exporter面板1)导入原创 2020-10-24 08:50:41 · 1009 阅读 · 0 评论 -
promethues配置node_exporter和rocketmq_exporter
背景我搭建了一套rocketmq的集群,如下表:机器节点 ip 备注 promethues 192.168.0.5 promethues服务节点(rocketmq_exporter) nameserver1 192.168.0.6 nameserver节点(node_exporter) broker-a 192.168.0.7 broker节点(node_exporter) broker-a-s 192.168.0.8 ..原创 2020-10-23 08:06:01 · 815 阅读 · 0 评论 -
Promethues:rocketmq_exporter初始化安装
1.背景接前文,之前分享了node_exporter的安装,对于rocketmq而言,不仅要监控最基本的机器信息,同时也要监控rocketmq的服务可用性。常见的一些服务指标包括:producer的消息生产tps,consumer的消费tps,整个集群的broker的tps等。这里我们使用rocketmq-exporter来采集相关的信息。2.项目地址:https://github.com/apache/rocketmq-exporter3.采集维度如下是常见的一些采集维度1)bro原创 2020-10-22 08:03:28 · 3073 阅读 · 3 评论 -
Promethues:node_exporter初始化安装
简介在运维监控系统中,一般都有一个叫做agent的程序。它运行在被采集机器上,用于采集机器或者其上运行服务的相关信息。常见的采集数据包括机器的cpu,内存,disk等,或者是上面跑的一些常见开源软件的信息(比如rocketmq的运行信息),这里介绍一个用于采集机器信息的小程序:node_exporter,是和promethues搭配使用的一个agent。背景公司项目中使用了rocketmq作为中间件消息系统。我使用了promethues+grafana作为本套系统的监控。通过exporter作为原创 2020-10-21 07:53:14 · 576 阅读 · 0 评论 -
RocketMQ系列:使用promethues+grafana+exporter进行监控(陆续补充中)
背景rocketmq部署到生产环境之后,需要部署监控来监测rocketmq的可用性,本文使用比较成熟的promethues和grafana对rmq进行监控。效果图1. 监控rocketmq的运行状态信息 rocketmq_exporter+grafana2. 监控rocketmq的机器节点信息 ...原创 2020-10-16 08:09:25 · 1329 阅读 · 2 评论 -
RocketMQ系列:mqadmin命令行之broker操作
简介本文主要介绍updateBrokerConfig、brokerStatus,wipeWritePerm和getBrokerConfig命令updateBrokerConfig :动态更新broker的配置(重启broker后会配置失效) brokerStatus :获取broker的运行时状态数据 wipeWritePerm:设置某broker为只读 getBrokerConfig:获取broker的配置信息例子getBrokerConfig1)帮助./mqadming.原创 2020-10-08 08:39:57 · 2825 阅读 · 0 评论 -
RocketMQ系列:mqadmin命令行之集群操作
简介本文主要介绍clusterList和clusterRT命令命令clusterList:查看集群列表 clusterRT:测试集群的响应耗时例子clusterList1)帮助./mqadmin clusterList -h2)查看集群基本信息./mqadmin clusterList -n nameserver1:98763) 查看集群更多信息./mqadmin clusterList -n nameserver1:9876 -m4) 查询集群.原创 2020-10-07 09:31:09 · 2924 阅读 · 0 评论 -
RocketMQ系列:mqadmin命令行使用总览
1.介绍rocketmq由consumer,producer,broker三大块组成,如何对这三类服务进行运维操作呢?这里介绍rocketmq自带的命令行工具:mqadmin2.位置项目:https://github.com/apache/rocketmq.git${PWD}/rocketmq/distribution/bin/mqadmin3.脚本3.1 mqadmin#这里ROCKETMQ_HOME对应的是rocketmq的主目录if [ -z "$ROCKE..原创 2020-10-06 08:42:49 · 2533 阅读 · 0 评论 -
RocketMQ系列:运维之集群节点下线操作
运维场景我搭建了一个3m-3s的rocketmq集群(参考:3m-3s的rocketmq搭建),假设限制有一套master节点的机器发生了故障,需要摘除机器,该如何进行平滑运维?例如我搭建了一个3m-3s的broker集群,架构如下:如果我要摘除集群中的broker-a节点,该如何操作?首先要明确的有三点:第一点:首先要将broker-a变成不可接收新消息的状态(即新来的消息都落到broker-b和broker-c上),但是不能影响正在处理的消息落盘。第二点:设置完第..原创 2020-10-05 08:02:21 · 947 阅读 · 0 评论 -
RocketMQ系列:搭建3m-3s模式的rocketmq集群
利用9台机器搭建一个3分片的broker集群,一共有3个broker实例(3m),每个master有一个slave,使用同步刷盘模式。1.引言本文主要介绍如何在三台机器上搭建一个3m-3s的rocketmq的集群。2.环境准备 机器名 机器 机器配置 备注 nameserver1 192.168.11.1 4C8G namese.原创 2020-10-02 07:39:46 · 997 阅读 · 0 评论 -
RocketMQ系列:FAQ之dledger4.7.1集群问题
前言公司的项目里面使用了rocketmq,开发建议使用rocketmq的最新版本4.7.1,并采用dledger模式部署。但是我在部署测试dledger模式的时候遇到了一个坑,在这里分享一下,避免大家重复踩坑。环境如图是我搭建的rocketmq的dledger集群,集群为两分片:broker-a和broker-b,每个dledger集群中有三个节点(1个leader和2个follower)问题在测试过程中,我需要模拟broker机器断网来测试rocketmq的高可用:...原创 2020-10-01 07:04:50 · 381 阅读 · 0 评论 -
RocketMQ系列:搭建3m-noslave模式的rocketmq集群
利用6台机器搭建一个3分片的broker集群,一共有3个broker实例(3m),采用同步刷屏模式1.引言本文主要介绍如何在三台机器上搭建一个3m(无slave节点的)rocketmq的集群。2.环境准备 机器名 机器IP 机器配置 备注 nameserver1 192.168.11.1 4C4G nameserver2 192.168.11.2.原创 2020-09-30 07:35:37 · 527 阅读 · 0 评论 -
RocketMQ系列:rocketmq的benchmark工具
1.环境参考benchmark环境搭建:参考单机快速搭建单broker环境被压测环境:rocketmq的dledger集群2.源码位置https://github.com/apache/rocketmq/tree/master/example/src/main/java/org/apache/rocketmq/example/benchmark3.工具清单consumer.sh:消息消费的benchmark工具producer.sh: 消息生产benchmark工具(同步非批处理模原创 2020-09-29 07:54:25 · 4281 阅读 · 6 评论 -
RocketMQ系列:docker搭建rocketmq的dledger模式集群(全网独家)
接上文:docker-compose搭建rocketmq集群环境本文介绍如何使用play-docker-dledger.sh搭建rocketmq的集群环境1 清理环境这里需要删除刚才docker-compose创建的docker的bridge网络,否则会报错:Error response from daemon: Pool overlaps with other one on this address spa1.1 查看docker网络docker network ls1..原创 2020-09-28 07:51:53 · 1409 阅读 · 1 评论 -
RocketMQ系列:docker-compose搭建rocketmq的集群模式
接上文:docker搭建rocketmq单机环境本文介绍如何使用docker-compose搭建rocketmq的集群环境1. 安装docker-compose1.1 下载docker-composesudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose原创 2020-09-25 07:29:13 · 1035 阅读 · 0 评论 -
RocketMQ系列:rocketmq运维控制台使用详解(全网独家)
搭建好了RocketMQ的console之后,直接在浏览器打开http://{你的ip}:8080默认会进入到驾驶舱(dashboard)。总览整体横向菜单分为八个部分:运维:主要是设置nameserver和配置vipchannel驾驶舱:控制台的dashboard,可以分别按broker和主题来查看消息的数量和趋势。集群:整个RocketMq的集群情况,包括分片,编号,地址,版本,消息生产和消息消费的TPS等,这个在做性能测试的时候可以作为数据指标。主题:即topic,可以原创 2020-09-24 08:01:09 · 14619 阅读 · 5 评论 -
RocketMQ系列:docker搭建rocketmq单机环境
1.引言前面使用了rocketmq的git工程中的fast-try.sh搭建了单broker集群,这里介绍一个更快地环境搭建方式,利用docker快速搭建一套rocketmq环境。2.环境准备2.1 docker搭建模式docker:用于搭建单节点broker模式/dledger模式 docker-compose:利用docker-compose快速搭建2broker的集群 k8sdocker环境搭建参考:Ubuntu下搭建docker环境这里先介绍单节点broker模式的搭.原创 2020-09-23 07:55:26 · 1545 阅读 · 0 评论 -
RocketMQ系列:单机快速搭建单broker环境
本文使用rocketmq的fast-try.sh快速在centos7上搭建一个单机版的rocketmq,单机版仅用于本地调试,不能用于生产环境。1. 支持系统Centos7/Ubuntu16/Mac/Windows2. 配置建议cpu:4核以上内存:8G以上硬盘:20G以上3. 下载&解压Rockmet3.1 下载访问:http://rocketmq.apache.org/dowloading/releases/,右键复制红框中rocketmq的地址.原创 2020-09-21 08:21:00 · 565 阅读 · 0 评论 -
RocketMQ系列:rocketmq运维控制台搭建
1.前言RocketMQ-console是rocketmq的运维控制台,简称console。可以用于查看rocketmq集群状态,管理topic/producer/consumer等,并且提供了相关的数据统计视图。console页面上的操作和mqadmin的命令行的功能基本一致,只是使用这种web的方式使用起来会更加便捷。2.项目说明地址:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console安装原创 2020-09-22 08:06:11 · 642 阅读 · 3 评论