暂时未有相关云产品技术能力~
Elastic认证工程师
上一章我们讲解了rabbitmq的四种交换机类型、七种通讯方式。本章我们将整合springboot来向大家完整演示rabbitmq的使用,并说明如何保证消息的可靠性。
死信队列是消息队列中非常重要的概念,同时我们需要业务场景中都需要延迟发送的概念,比如12306中的30分钟后未支付订单取消。那么本期,我们就来讲解死信队列,以及如何通过延迟交换机来实现延迟发送的需求。
本期主要讲解如何利用docker快速安装rabbitmq并且配置延迟队列插件
上一章咱们讲解了什么是消息队列,已经为什么使用消息队列。并且阐述了我们入门选用RabbitMQ的原因。 同时为了践行我们“先讲核心,快速入门,循环学习,深入原理”的原则,我们先将RabbitMQ核心操作讲解,让大家能够快速上手RabbitMQ,能够在工作中直接应用上,后续我们再来补讲其中的原理和常见面试题
MQ(Message Queue):消息队列,如今在各类业务场景中已经被广泛使用,特别在并发量日益增涨的业务和微服务架构中,消息队列能够帮助我们解决很多传统方式所不能解决的问题。 所以今天,我们就开始学习消息队列啦
Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。 Nginx已经在大多数业务中普遍使用,因此针对Nginx的性能监控十分必要,这样我们才能实时掌握服务器请求情况和运行效率 所以今天,我们的目标就是搭建一个Nginx运行性能监控平台
Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。 Nginx已经在大多数业务中普遍使用,因此针对Nginx的流量监控,错误日志监控极其必要,这样才能让我们能够及时了解系统运行情况。 那么今天,我们就来看看如何搭建Nginx访问记录、错误日志监控平台
上一期我们讲解了如何搭建canal集群,随着我们节点数量的增加,其管理工作的难度也会增加,我们需要一个可视化的客户端来帮助我们管理这些canal节点。于是乎canal-admin应运而生。
之前我们讲解过canal的各种应用,但是对于生产环境来讲,服务高可用是必须保证的。因此canal单节点是不能满足我们的需求的。就需要搭建canal集群。
我们之前讲解了利用canal实现无代码入侵的同步mysql数据到elasticsearch,并且讲解了主子表数据如何同步。 但具体生产中,仍然有更加复杂的同步需求,之前也有几位同学咨询过我,因为canal只支持2张表的数据同步,并不支持3张表及以上的同步,当不少的业务需要3表以上的同步,这就需要我们自定义canal客户端来实现了,那么今天我们就来实操演示下自定义canal客户端,实现多表同步
最近接到一个需要,需要在spring data elasticsearch关联的实体类中动态的根据配置文件动态创建索引名称,比如开发环境下索引名称为user-dev,测试环境下为user-test,生产环境为user-prod 一开始接到这个需要觉得很怪,因为不同环境的区分直接搭建不同的es服务器环境不就行了吗,为什么要这么麻烦来处理呢?后来了解到是因为当前项目成本受限,需要隔离开发环境和测试环境用的同一台服务器,于是就产生了这个奇怪的需求。 其实想想,不排除某些场景下,就需要动态的创建索引名称。于是今天我们就来看看怎么实现这个需求
spring-data系列为众多中间件、数据库的操作提供了极其方便的API,对于elasticsearch也不例外,spring-data-elasticsearch不仅为我们提供了现成的CRUD接口,也提供了简便的各类java client的整合方案 所以今天我们就来讲解,如果在springboot项目中整合spring-data-elasticsearch
在springboot整合spring data elasticsearch项目中,当索引数量较多,mapping结构较为复杂时,我们常常希望启动项目时能够自动创建索引及mapping,这样就不用再到各个环境中创建索引了 所以今天咱们就来看看如何自动创建索引
我们之间讲解了[springboot整合spring data elasticsearch3.x](https://blog.csdn.net/qq_24950043/article/details/125570709)。但elasticsearch的更新十分活跃,截止目前已经到了8.x版本。而spring data elasticsearch3.x所对应的es版本还是6.8.x 所以今天我们来讲解与spring-data-elasticsearch3.x有较大变化的spring data elasticsearch4.2.x版本如何整合到springboot
java client长时间没有连接es后,再次调用访问接口,报错连接超时
因为es非关系型数据库的特性,我们常常需要在实际业务中实现复杂查询,从而来查询到我们想要的数据。 很多同学刚接触java client不知道如何实现各类复杂查询操作。今天我们就来讲讲一些常见的复杂查询如何实现
在不少项目统计需求中,我们需要计算周期或者持续时间,这就需要我们计算两个日期之差。所以今天我们就来探讨在es的script脚本中使用painless语法如何计算量日期之差
elasticsearch支持各种类型的聚合查询,给我们做数据统计、数据分析时提供了强大的处理能力,但是作为java开发者,如何在java client中实现这些聚合呢? 我们知道spring-data-elasticsearch提供了针对整合spring的es java client,但是在elastic、spring-data官方文档中都没有详细说明聚合查询在java client中如何实现。 所以本期,我们的目标就是一篇将这些聚合操作一网打尽!
mongoDB作为基于磁盘的非关系型数据库,JSON格式数据存储方式,具有优秀的查询效率。越来越多的场景使用到了MongoDB。在生产运维中,更需要我们能够实时的掌握mongo的运行情况,以方便我们数据库运行问题做出及时的调整和补救。
在使用spring-data-elasticsearch读取es中时间类型的数据时出现了日期转换报错,不少初学者会在这里困惑很久,所以今天我们专门来解读该问题的几种解决方案。
我们在使用spring-data-elasticsearch,可能会出现查询结果为null,但返回的数据size是大于0的。或者某一部分字段有值,某一部分字段为null 其结果如下图所示,那么这个问题是怎么产生的呢?今天我们就来详细解析
Redis作为基于内存的非关系型数据库,常常被应用于热点数据缓存,它很大程度上为我们关系性数据库提供了性能补充。保证redis的高可用,对应整个应用程序的运行至关重要,一个直观的监控redis运行情况的数据看板可以为我们实时了解redis运行情况提供极大的便利。
Docker是一款轻量级的应用容器引擎,可以帮助我们快速部署各类软件,自动化构建系列生产环境。因此,我们也需要一个统一的监控页面,来让我们实时了解docker中各个容器的运行情况
PostgreSQL作为一款免费、开源、企业级的关系数据库,被越来越多的企业所青睐,上一章我们讲解了如何搭建一个实时监控PostgreSQL慢日志、错误日志的平台,但是针对PostgreSQL的运行性能还无法监控,生产环境中,特别是构建了数据库集群后,我们常常需要了解到各个数据库的运行情况、性能效率等, 这样才能为我们数据库优化、性能优化提供更有力的保障
PostgreSQL是一款功能非常强大的的关系性数据库,适用于需要执行复杂查询的系统。市面上越来越多的公司开始采用PostgreSQL作为主数据库。 今天我们就来讲解如何搭建一个PostgreSQL的慢日志、错误日志监控平台,实时了解到数据库的日志情况,来帮助我们快速排错及优化。
Elastic官网对于mysql query metricset介绍很少,也没有介绍其用法,但是在基于ELK实现mysql性能监控中,query metricset又是明显支持的指标集。本着探索学习精神,通过查阅了不少资料后,今天我们就针对query metricset来详细介绍。
mysql作为市场的主流数据库,承载了大部分公司的核心业务数据,同时也是大多数业务的底层存储。 针对mysql运行情况的监控必不可少,之前我们讲解了如何搭建mysql慢日志、错误日志的监控平台。 那么本期,我们针对mysql集群、性能、各类sql语句执行情况、服务状态等指标来搭建一个可视化的监控平台,方便我们实时了解mysql资源利用率、sql执行效率、访问压力等等。
elaticsearch中实现聚合操作十分常见,同时es本身存储的数据量一般都比较大,因此聚合结果数量通常都比较多,所以针对聚合结果进行分页,也是非常常见的需求
最近正好有同学问到constand score查询与其他查询的区别,趁此机会,我们来详细了解下constant score查询
现在的生产系统多使用linux系统,在实际生产过程中我们除了需要监控一些业务日志之外,有时也需要监控linux系统本身的日志,来帮助我们进行一些排错和判断。那么这一期,我们就针对linux系统日志监控平台的搭建来进行讲解 与往期一样,我们针对实际搭建教程更多是快速搭建为主,不做过多的原理性讲解,这一类讲解我们放到后期单独开几期博客来探讨。
因为mysql免费、稳定以及还不错的性能,是当前市面上多数公司的数据库选择。在实际的生产环境中我们更需要及时知道数据库中的报错日志、慢日志等信息,来帮助我们进行排错和优化。 普通的到服务器上去查看日志的方式并不方便,特别是涉及到分布式部署时,因此我们需要一个统一的监控平台来实时、方便的查看这些日志数据。
本期我们来讲解如何通过ELK+metricbeat来监控服务器/主机中的CPU、网络、磁盘、内存等指标变化。并绘制会数据看板来方便我们实时监控
前几期我们讲解了利用Kibana Lens来快速部署一套数据看板。这一期我们接着来讲讲kibana提供的TSVB编辑器(Time Series Visual Builder),即时间序列可视化编辑器
上期我们讲解了lens的基础使用以及操作栏介绍,本期我们来介绍下lens支持的图表类型。并且通过这些图表搭建一个完整的数据看板。让大家从整体上了解到lens的全貌。
elastic官方在7.5版本的时候推出了kibana Lens来帮助用户更加简单、直接的创建可视化,上一期我们也简单的示范了利用Len来创建柱状图和折线图。如果不清楚的可以看看上一期文章:
我们在使用kibana,特别是在设置数据看板时如果英文水平不足,常常会有无法准确设置图形、指标的问题,那么如何将kibana设置为中文界面呢
某些业务场景下我们需要使用特殊符号来进行查询,但是es的默认分词器以及ik分词器等大多数分词器都会将特殊符号过滤掉,导致后续无法通过特殊符号查询到数据。 那么我们如何来解决这个问题呢,下面列举出几种处理方案
最近部署ik分词器数据库热更新报错,特此记录,以供后续参考
上一期,我们说明了基于API形式的热更新,但是API形式的热更新存在词库的管理不方便,要直接操作磁盘文件,检索页很麻烦;文件的读写没有专门的优化,性能不好;多一次接口调用和网络传输等缺点,因此这期我们来说明直连数据库的方式来实现热更新
最近在做mysql到es的数据同步,涉及到父子表数据同步,特此记录,以供后续参考
今天群里有同学问如何将字符串型的时间字段转换为long类型的时间戳。特记录下供后续参考。 原问题: > 我接收数据方传过来的数据,其中有个时间类型是字符串类型,格式为:yyyy-MM-dd hh:mm:ss,我需要转成时间戳保存,我按照网上的方法试了好多种都无法成功转换。 > 数据方把数据发到kafka,我用logstash读kafka,经过处理存到es
首先canal是支持自定义客户端的,需要引入如下依赖,这种方式适合数据转换规则比较复杂,具有强定制性的场景,但是考虑到我这里还要做logstash的数据同步,因此需要一个比较通用的方式来实现数据转换处理,因此我用到了es的pipeline来做预处理
centos for m1启动kibana7.13.0报错
在实际开发中遇到一个问题:原本在springboot项目中引入了spring data elasticsearch的依赖,后因调整将这个依赖从这个服务中删除了,但是启动服务仍然会进行es的健康检查。也就导致一直有警告日志输出:connection refuse
elasticsearch官方的java客户端有tranport client,rest high level client,但进行索引的增删改查的操作不够简便。因此我们引入spring data elasticsearch来实现索引的CRUD
上一期我们讲解了如何通过canal实现增量/全量同步但因为canal本身基于binlog。所以在binlog开启之前的历史数据是不会同步的。 因此要实现真正的全量同步,还需要针对binlog开启之前的历史数据进行全量同步。
canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等
所有报错均为博主在实操过程中遇到的错误和解决办法,如果有其他报错或者不同的解决办法,请留言告诉我 安装canal过程中遇到问题,先在本文中查询是否有相同报错,将会为你节约大量排错时间
集群的有三种状态: 绿色:正常状态,表示主副分片都正常 黄色:主分片正常,至少一个副本分片不可用,该状态下仍然可以正常查询 红色:至少一个主分片不可用,可以查询到部分数据,但是数据不具备完整性
springboot整合了spring data elasticsearch启动报错