数据同步中间件
不足:不支持 ES6.X 以上、Mysql 8.X 以上
ime 标识最大时间
logstash全量、增量同步解决方案
https://www.elastic.co/cn/downloads/logstash
jar 包下载地址
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.31
驱动包的配置
将驱动程序Jar文件复制到<logstash_install_dir>/logstash-core/lib/jars/目录。
然后在配置文件中,然后在mysql.conf里的就不需要在设置jdbc驱动包的配置了
mysql.conf
input{ jdbc{ # 要使用的驱动包类 jdbc_driver_class => "com.mysql.jdbc.Driver" # mysql数据库的连接信息 jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/blog" # mysql用户 jdbc_user => "root" # mysql密码 jdbc_password => "root" # 定时任务,多久执行一次查询,默认一分钟,如果想要没有延迟,可以使用 schedule => "* * * * * *" schedule => "* * * * *" # 清空上传的sql_last_value记录 clean_run => true # 你要执行的语句 statement => "select * FROM t_blog WHERE update_time > :sql_last_value AND update_time < NOW() ORDER BY update_time desc" } } output { elasticsearch{ # es host : port hosts => ["127.0.0.1:9200"] # 索引 index => "blog" # _id document_id => "%{id}" } }
开始同步
logstash -f ../config/mysql.conf
同步成功
kibana中验证
GET /blog/_stats
GET /blog/_search