ElasticSearch7入门(三)Logstash实现MySQL数据同步至ElasticSearch

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: ElasticSearch7入门(三)Logstash实现MySQL数据同步至ElasticSearch

背景


前一篇中实现了向ElasticSearch中批量插入数据,今天我们体验下生产环境中常用的Logstash实现MySQL数据库到ElasticSearch的同步。


数据同步中间件


关于MySQL数据同步至ES,Github上的中间件有:


  • alibaba/cannal
  • siddontang/go-mysql-elasticsearch
  • Logstash(ES官方)


Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。


配置准备


  • jar包依赖:mysql-connector-java


  1. 下载jar包(或直接在本地的Maven仓库.m2下找):mysql-connector-java-8.0.19.jar;


  1. 将jar包放到logstash-7.5.2目录下,稍后在配置中指向该路径;


  • 配置MySQL与ES同步


logstash-7.5.2/config下新建mysql.conf文件:

input{
    jdbc{
        jdbc_driver_library => "../mysql-connector-java-8.0.19.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/zfjt-oa?serverTimezone=Asia/Shanghai"
        jdbc_user => "root"
        jdbc_password => "root"
        schedule => "* * * * *"
        clean_run => true
        statement => "select * FROM demo_employee WHERE create_time > :sql_last_value AND create_time < NOW() ORDER BY create_time desc"
    }
}
output {
    elasticsearch{
        hosts => ["127.0.0.1:9200"]
        index => "hero"
        document_id => "%{id}"
    }
}

以上配置了连接本地数据库zfjt-oa,将表demo_employee同步至ES中的hero索引。


开启同步


  • 当然,首先启动ES,同步前先看下ES中有哪些索引

image.png

可以看到仅有一个之前的movie索引。


  • 启动Logstash:在logstash的bin目录下执行:logstash -f ../config/mysql.conf

image.png


检查同步结果


  • 已创建新的索引hero

image.png

  • 查看索引hero中的数据


这里方便查看,使用了elasticsearch-head插件

image.png

  • MySQL中改动(CRUD,这里以新增为例)一条数据

image.png

  • 检查ES中是否同步成功

image.png


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
目录
相关文章
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
SQL 关系型数据库 MySQL
网安入门之MySQL后端基础
《网安入门之MySQL后端基础》简介: 本文介绍了数据库及MySQL的基础知识,涵盖数据库的概念、结构与操作。数据库是组织化存储数据的集合,通过表、列、行等结构实现高效管理。MySQL作为开源的关系型数据库管理系统,广泛应用于Web开发。文中详细讲解了MySQL的基本操作,如增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)等语句的使用方法,并介绍了数据库事务的ACID特性。此外,还探讨了SQL注入攻击的风险及防范措施,强调了预处理语句的重要性。最后,简述了PHP中mysqli扩展的使用方法,包括连接数据库、执行查询和关闭连接等步骤。
|
存储 Java API
Elasticsearch 7.8.0从入门到精通
这篇文章详细介绍了Elasticsearch 7.8.0的安装、核心概念(如正排索引和倒排索引)、RESTful风格、各种索引和文档操作、条件查询、聚合查询以及在Spring Boot中整合Elasticsearch的步骤和示例。
812 1
Elasticsearch 7.8.0从入门到精通
|
存储 关系型数据库 MySQL
浅谈Elasticsearch的入门与实践
本文主要围绕ES核心特性:分布式存储特性和分析检索能力,介绍了概念、原理与实践案例,希望让读者快速理解ES的核心特性与应用场景。
1222 15
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
498 1
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
744 0
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
存储 监控 安全
|
SQL 关系型数据库 MySQL
MySQL入门到精通
MySQL入门到精通

推荐镜像

更多