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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6天前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
|
6天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
134 0
|
6天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
6天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
|
6天前
|
安全 关系型数据库 MySQL
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
106 0
|
6天前
|
SQL 存储 关系型数据库
轻松入门MySQL:深入理解MySQL日志,二进制日志、中继日志、回滚日志和重做日志(19)
轻松入门MySQL:深入理解MySQL日志,二进制日志、中继日志、回滚日志和重做日志(19)
|
6天前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
64 0
|
6天前
|
SQL JSON DataWorks
DataWorks产品使用合集之DataWorks 数据集成任务中,将数据同步到 Elasticsearch(ES)中,并指定 NESTED 字段中的 properties 类型如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
29 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL数据库实战:从入门到精通
本文介绍了MySQL的使用和优化,适合Web开发者阅读。首先,确保安装并配置好MySQL,熟悉SQL基础。接着,通过命令行客户端连接数据库,执行创建、查询、添加、修改和删除数据等操作。学习数据类型并创建表存储数据。最后,探讨了数据库优化,包括查询优化和索引使用,以提升性能。
35 2
|
6天前
|
NoSQL 关系型数据库 MySQL
[AIGC] 对比MySQL全文索引,RedisSearch,和Elasticsearch的详细区别
[AIGC] 对比MySQL全文索引,RedisSearch,和Elasticsearch的详细区别
129 1

热门文章

最新文章