花了一个晚上+一个上午,终于将MySQL中的数据同步到Elasticsearch
,作个简单的记录。html
整个过程须要用到MySQL的river
插件,GitHub
上有installation
能够参考。java
虽然最后的配置过程很简单,但我在配置的过程当中遇到了很多的问题,多是由于ES
版本的缘由吧。能够参考...mysql
环境:Ubuntu
+
JDK7
git
下载ES
,我选择的版本是elasticsearch-1.1.0
,选择本身的安装路径${ES_HOME}
github
进入${ES_HOME}
sql
cd ${ES_HOME}
安装river
插件curl
bin/plugin --install river-jdbc --url http://bit.ly/1jyXrR9
下载mysql-connector-java-5.1.30-bin.jar
,把它放到${ES_HOME}/lib
下elasticsearch
建立一个JDBC river
测试
curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{ "type" : "jdbc", "jdbc" : { "driver" : "com.mysql.jdbc.Driver", "url" : "jdbc:mysql://localhost:3306/profile", "user" : "", "password" : "", "sql" : "select * from profile.user", "index" : "profile", "type" : "user" } }'
其中profile
为scheme
的名称,user
为table
的名称,做为测试用。url
测试导入效果
curl -XGET 'localhost:9200/profile/user/_search?pretty&q=*'