Elasticsearch 2.3.3的jdbc插件安裝跟以前的版本是不同的,以前的版本,網上的內容介紹的都是elasticsearch使用river同步mysql數據 ,哪些都是老的文章了,最新的版本是不適用的。那麼咱們如何從數據庫導入數據呢?其實安裝 Elasticsearch 2.3.3 的JDBC插件很簡單,只不過,安裝完之後的配置,稍微有些麻煩。java
第一步:下載JDBC連接包mysql
具體能夠執行下面的命令:git
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.3.0/elasticsearch-jdbc-2.3.3.0-dist.zip
第二步: 解壓 elasticsearch-jdbc-2.3.3.0-dist.zipgithub
unzip elasticsearch-jdbc-2.3.3.0-dist.zip
第三步:進入elasticsearch-jdbc-2.3.3.0/bin目錄sql
咱們看到下面有不少連接數據庫的樣例文件。數據庫
咱們以MSYQL爲例,作一個基本的介紹。json
第四步:編輯mysql-blog.sh,修改爲以下的樣子。bash
#!/bin/sh DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" bin=${DIR}/../bin lib=${DIR}/../lib echo ' { "type" : "jdbc", "jdbc" : { "url" : "jdbc:mysql://192.168.1.100:3306/hotel?useUnicode=true&characterEncoding=gbk", "statefile" : "statefile.json", "user" : "root", "password" : "root", "sql" : "select * from hotel", "index" : "hotel", "type" : "hotel", "elasticsearch" : { "cluster" : "elasticsearch", "host" : "192.168.133.134", "port" : 9300 } } } ' | java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter
上述腳本的意思是:連接192.168.1.100這個機器上的hotel數據庫,將此數據庫中的hotel數據所有導入到hotel索引中。導入的集羣名稱是elasticsearch,搜索引擎訪問地址是192.168.133.132.elasticsearch
第五步,結合以前的內容,咱們搭建了 elasticsearch 集羣,可是沒有創建索引。oop
咱們能夠再head插件中新建索引.
索引建立成功後,咱們能夠在 「概覽」裏面看到新建的索引。
暫且不表分片和複製。咱們看到咱們成功了建立了一個hotel索引,目前索引中文檔個數爲0.
第六步,執行剛纔修改的mysql-blog.sh腳本。
執行以前肯定你的Mysql數據庫已經啓動,而且數據庫的連接帳號和密碼存在。
個人數據庫中是5W條酒店的數據。
腳本執行完成後,5W條數據從導入到索引建立完成,大約是2分鐘,速度仍是蠻快的。,咱們再次查看head插件,能夠看到,文件個數已經發生了變化。
好了,本篇文章就寫到這裏,其實ElasticSerach-jdbc導入數據還有不少的參數。
你們能夠看https://github.com/jprante/elasticsearch-jdbc 文章,或者點擊連接觀看 數航教育的在線視頻教程