Elasticsearch同步MySQL

  • 花了一个晚上+一个上午,终于将MySQL中的数据同步到Elasticsearch,做个简单的记录。

  • 整个过程需要用到MySQL的river插件GitHub上有installation可以参考。

  • 虽然最后的配置过程很简单,但我在配置的过程中遇到了不少的问题,可能是因为ES版本的原因吧。可以参考

  • 环境:Ubuntu + JDK7

配置过程如下:

step 1.

下载ES,我选择的版本是elasticsearch-1.1.0,选择自己的安装路径${ES_HOME}

step 2.

进入${ES_HOME}

cd  ${ES_HOME}

安装river插件

bin/plugin --install river-jdbc --url http://bit.ly/1jyXrR9

下载mysql-connector-java-5.1.30-bin.jar,把它放到${ES_HOME}/lib

step 3.

创建一个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"
     }
 }'

其中profilescheme的名称,usertable的名称,作为测试用。

step 4.

测试导入效果

curl -XGET 'localhost:9200/profile/user/_search?pretty&q=*'
    原文作者:tinylcy
    原文地址: https://segmentfault.com/a/1190000003100540
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞