1. 程式人生 > >使用Logstash來實時同步MySQL資料到ES

使用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