盒子
盒子
文章目录
  1. go-mysql-elasticsearch
  2. elasticsearch-river-mysql
  3. elasticsearch-river-jdbc

MySQL数据导入ElasticSearch

Github上主要是有三个项目,分别是go-mysql-elasticsearchelasticsearch-river-jdbcelasticsearch-river-mysql ……

go-mysql-elasticsearch

go-mysql-elasticsearch 是一个将MySQL数据导入到Elasticsearch的服务,他是用mysqldump来获取源数据,然后使用binlog同步数据,按照github上说明,他好像是使用go语言开发的一款工具,实现数据迁移。搭建需要go环境支持。
他主要可以实现:

  • 定制化同步,可修改index、type、field等
  • 可增量同步
  • 支持基于正则命名的index和type

elasticsearch-river-mysql

他需要安装一个Elasticsearch插件和一个小型的webserver
看了下,安装过程。。。步骤还是比较多,最后操作还是基于http的,example:curl -XPUT 'localhost:9200/_river/mydb/_meta' -d '{ "type" : "mysql", "streamer" : { "host" : "localhost", "port" : 8080, }, "mysql" : { # Future usage to configure mysql access from the river. _ } }'

elasticsearch-river-jdbc

他是一个JDBC插件,不仅仅支持mysql,还支持其他数据库。项目现在还在更新,让我感觉靠谱点
Quick start
安装方法:

  • ./bin/plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.5.0.5/elasticsearch-river-jdbc-1.5.0.5-plugin.zip
  • curl -o mysql-connector-java-5.1.35.zip -L 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.35.zip/from/http://cdn.mysql.com/'
  • 解压后cp mysql-connector-java-5.1.28-bin.jar $ES_HOME/plugins/jdbc/,即将mysql connect的一个jar文件拷贝到jdbc的目录下即可。

参考文章