Github上主要是有三个项目,分别是go-mysql-elasticsearch、elasticsearch-river-jdbc和elasticsearch-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的目录下即可。
参考文章