当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

Elasticsearch同步MySQL

作者:小梦 来源: 网络 时间: 2024-05-05 阅读:
  • 花了一个晚上+一个上午,终于将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=*'