将 mysql 数据导入 elasticsearch

来源:互联网 发布:儒释道网络电视台直播 编辑:程序博客网 时间:2024/05/13 20:43

mysql 数据导入 elasticsearch


我们此次用的导入方法是使用JDBC工具进行导入

全部为真实环境操作,数据也是真实的。

首先你要先安装了elasticsearch

安装elasticsearch方法

这个是2.4.3的版本的安装方法,之前用的是5.0.0版本的,但是JDBC支持不到5.0.0,然后我就将es降版本。就成功的导入了数据

首先要先进入你下载的下载目录,然后将工具下载下来

cd /var/zkwget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.1/elasticsearch-jdbc-2.3.4.1-dist.zip

此次用的JDBC版本为2.3.4.1,如果你想用其他版本,就要到github上找到和es的对应关系,看能不能支持。

然后解压zip包

unzip elasticsearch-jdbc-2.3.4.1-dist.zip

将解压出来的工具放到你平时放第三方工具的地方

mv elasticsearch-jdbc-2.3.4.1 /usr/

进入JDBC的bin目录下,然后创建一个.sh的文件

cd /usr/elasticsearch-2.3.4.1/binvi import.sh
然后将下面的内容粘贴进去,进行修改,就可以了

#!/bin/shJDBC_IMPORTER_HOME=/usr/elasticsearch-jdbc-2.3.4.1bin=$JDBC_IMPORTER_HOME/binlib=$JDBC_IMPORTER_HOME/libecho '{"type" : "jdbc","jdbc": {"elasticsearch.autodiscover":true,"url":"jdbc:mysql://10.1.3.11:3306/mysql数据库名", #10.1.3.11:3306是mysql所在的服务器地址以及mysql的端口号。"user":"root", # mysql用户名"password":"xxxxxxxx", # mysql密码"sql":"select * from mysql表名","elasticsearch" : {  "cluster" : "esjiqun",# es的集群名字  "host" : "127.0.0.1",# 绑定的ip地址  "port" : 9300  # 交换数据用的端口号,es默认为9300},"index" : "index",#你想放进哪个索引里,就写哪个"type" : "user" #你要放进哪个type,es里没有这个type的话,自动创建,不可不填}}'| java \  -cp "${lib}/*" \  -Dlog4j.configurationFile=${bin}/log4j2.xml \  org.xbib.tools.Runner \  org.xbib.tools.JDBCImporter

写完之后,保存退出。

然后执行

sh ./import.sh

然后等程序执行完之后,就可以到es里查一下数据。看有 没有成功导入




0 0