花了一個晚上+一個上午,終於將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=*'