当前位置:首页 > ES > 正文内容

使用logstash-input-jdbc同步mysql到es

phpmianshi1年前 (2019-07-02)ES42

数据同步方式


全量同步与增量同步

全量同步是指全部将数据同步到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://phpmianshi.com/?id=122


版权声明:本文由PHP面试资料网发布,如需转载请注明出处。
分享给朋友:

相关文章

es的基本概念和原理

基本概念和原理 ES其实就是基于lucene之上封装的一个分布式 索引框架,所以lucene拥有的特性,它都是有的,同时因为它使基于分布式的,所以对很多的功能进行了扩展,要想掌握ES,需要先熟悉一...

es中单机部署状态为Yellow解决办法

es中单机部署状态为Yellow解决办法

背景单机版的 ES 状态为 Yellow,在 Kibana 的管理界面看到的 index 的状态也是 Yellow这个问题在于单机版的 ES,是没有备份的,没有副本,设置 index 副本的数量为 0...

ELK的安装与配置

Elasticsearch 安装安装 JDK这里选择 openjdk$ yum install java-11-openjdk-devel获取 elasticsearch ...

kibana DevTools语句查询详解

直接点击Dev Tools,来看基本操作1,输入:GET /{   "name": "GddjX_V",  &nbs...

logstash增量同步mysql到es配置详解

配置详解input {   jdbc {     # mysql相关jdbc配置   ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。