概述
参考:https://www.phpmianshi.com/?id=120
数据同步方式
全量同步与增量同步
全量同步是指全部将数据同步到es,通常是刚建立es,第一次同步时使用。增量同步是指将后续的更新、插入记录同步到es。(删除记录没有办法同步,只能两边执行自己的删除命令)
常用的一些ES同步方法
1. elasticsearch-jdbc: 严格意义上它已经不是第三方插件。已经成为独立的第三方工具。
Elasticsearch-JDBC暂时还不支持Elasticsearch 5.0,并且很久没有更新了 ,弃用
https://github.com/jprante/elasticsearch-jdbc
2. elasticsearch-river-mysql插件 很久很久没更新了,弃用
https://github.com/scharron/elasticsearch-river-mysql
3. go-mysql-elasticsearch
第三方开源项目,通过同步Mysql的binlog日志进行增量同步
https://github.com/siddontang/go-mysql-elasticsearch
4. python-mysql-replication:
https://github.com/noplay/python-mysql-replication
5. MySQL Binlog 通过 MySQL binlog 将 MySQL 的数据同步给 ES, 只能使用 row 模式的 binlog。
6. Logstash-input-jdbc https://github.com/logstash-plugins/logstash-input-jdbc
经过测试,稳定且易用的是 logstash-input-jdbc
安装logstash-input-jdbc插件
logstash-input-jdbc插件是logstash 的一个插件。
使用ruby语言开发。需要科学上网才能安装。
解决办法,改成国内的ruby仓库镜像。此镜像托管于阿里云服务器上 :
yum install gem 1、替换成ruby-china的库 gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ 查看是否成功 gem sources -l 2.替换完之后,进入logstash-5.5.0,修改Gemfile文件里面的数据源: vi Gemfile 修改成这个样子: source "https://gems.ruby-china.com" 进入到logstash的bin下 cd bin ./logstash-plugin install logstash-input-jdbc
如何同步
参考下一篇文章:https://www.phpmianshi.com/?id=122
最后
以上就是想人陪钻石为你收集整理的使用logstash-input-jdbc同步mysql到es的全部内容,希望文章能够帮你解决使用logstash-input-jdbc同步mysql到es所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复