Mysql、ES 数据同步

数据同步中间件

Mysql、ES 数据同步_第1张图片

 

 

 

Mysql、ES 数据同步_第2张图片

 

 

 

 Mysql、ES 数据同步_第3张图片

Mysql、ES 数据同步_第4张图片

 

不足:不支持 ES6.X 以上、Mysql 8.X 以上

Mysql、ES 数据同步_第5张图片

 

 

 Mysql、ES 数据同步_第6张图片

 

 

 

ime 标识最大时间

 

 logstash全量、增量同步解决方案

https://www.elastic.co/cn/downloads/logstash

jar 包下载地址

https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.31

驱动包的配置

将驱动程序Jar文件复制到/logstash-core/lib/jars/目录。

Mysql、ES 数据同步_第7张图片

 

然后在配置文件中,然后在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

 

 同步成功

 Mysql、ES 数据同步_第8张图片

 

 kibana中验证

GET /blog/_stats

GET /blog/_search

 

Mysql、ES 数据同步_第9张图片

 

你可能感兴趣的:(Mysql、ES 数据同步)