使用Logstash来实时同步MySQL数据到ES

上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试

本篇我们来实战从MYSQL里直接同步数据

一、首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1

       下载后使用logstash-plugin install logstash-input-jdbc 命令安装jdbc的数据连接插件

 

二、新增mysqltoes.conf文件,配置Input和output参数如下,连接jdbc按照规则同步指定的数据到es

       大家注意这里的配置有很多种用法,包括同步时间规则和最后更新时间的用法就不详细展开了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
input {
 stdin { }
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/database"
  
        jdbc_user => "root"
 
        jdbc_password => "root"
 
        jdbc_driver_library => "C:/Program Files (x86)/MySQL/Connector.J 5.1/mysql-connector-java-5.1.40-bin.jar"
 
        jdbc_driver_class => "com.mysql.jdbc.Driver"
         
        jdbc_paging_enabled => "true"
         
        jdbc_page_size => "50000"<br>
        statement => "SELECT * FROM session"<br>
        schedule => "* * * * *"
    }
 }
  
 output {
     stdout {
        codec => json_lines
    }
    elasticsearch {
        hosts => "localhost:9200"
        index => "mainIndex"
        document_type => "user"
        document_id => "%{id}"
    }
}

使用logstash按照conf文件执行 bin\logstash.bat -f mysqltoes.conf

注意这里可能有执行不成功的坑,主要是把配置设置好,还有文件和名称编码的问题  output es的配置用hosts

 

这时候我们可以看到MYSQL中的表数据已成功导入ES

 

相关文章

ElasticSearch和ElasticSearch Head环境搭建和数据模拟

使用logstash来实时同步MySQL数据

使用docker快速搭建ELK环境

使用NetCore向ES快速写数据的设计

NetCore结合ES亿级数据的实践

posted @   leeolevis  阅读(18653)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示