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