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

本篇我们来实战从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

猜你喜欢

转载自blog.csdn.net/aa1215018028/article/details/84345801