一、场景
在mysql数据同步到ES中,发现第一次同步时需要全量的数据,之后则需要定时去同步增量数据,使用logstash需要了解一下事项(注意:更新周期最快是1分钟)
1、凡是SQL可以实现的logstash均可以实现(本就是通过sql查询数据)
2、支持每次全量同步或按照特定字段(如递增ID、修改时间)增量同步;
3、同步频率可控,最快同步频率每分钟一次(如果对实效性要求较高,慎用);
4、不支持被物理删除的数据同步物理删除ES中的数据(可在表设计中增加逻辑删除字段IsDelete标识数据删除)。
二、全量更新
1、前提:
数据库名为:test
test下表名为:student
表中数据如下图:
2.在logstash-6.5.1文件夹下创建totalJdbc.conf,totalStudent.sql两个文件
totalJdbc.conf文件如下:
input {
stdin {
}
jdbc {
# 驱动
jdbc_driver_library => "/home/mysql-connector-java-5.1.42.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.j