我是靠谱客的博主 想人陪钻石,最近开发中收集的这篇文章主要介绍使用logstash-input-jdbc同步mysql到es,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考: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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部