2016-07-01 09:07 4636人阅读 评论(8) 收藏 举报
 分类:
Elasticsearch(31) 

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言.

 

目录(?)[+]

 

ElasticSearch同步MySQL的插件选择了elasticsearch-jdbc,理由是活跃度高,持续更新,最新版本兼容elasticsearch-2.3.3.

一、下载


下载地址:https://github.com/jprante/elasticsearch-jdbc 
下载后解压,里面有bin、lib2个目录. 

二、mysql配置


确保mysql能用,在mysql中新建一个test数据库

mysql>create database test;

新建一张user表

mysql> create table user(id int(10) Not null,name char(10));

插入几条数据.

mysql> insert into test values("1","zhangsan");
mysql> insert into user values("2","LiSi");
mysql> insert into user values("3","WangWu");
mysql> insert into user values("4","MaLiu");

查看所有数据:

mysql> select * from user;
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
| 2 | LiSi |
| 3 | WangWu |
| 4 | MaLiu |
+----+----------+
4 rows in set (0.00 sec)

这样mysql中的数据就准备好了.

三、导入数据


新建一个odbc_es文件夹,新建mysql_import_es.sh脚本,脚本内容:

bin=/Users/yaopan/Documents/bropen/elasticsearch-jdbc-2.3.2.0/bin
lib=/Users/yaopan/Documents/bropen/elasticsearch-jdbc-2.3.2.0/lib
echo '{
"type" : "jdbc",
"jdbc" : {
"elasticsearch.autodiscover":true,
"elasticsearch.cluster":"bropen",
"url" : "jdbc:mysql://localhost:3306/test",
"user" : "root",
"useSSL":"true",
"password" : "123456",
"sql" : "select *, id as _id from user",
"elasticsearch" : {
"host" : "127.0.0.1",
"port" : 9300
},
"index" : "test",
"type" : "user"
}
}' | java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter

其中bin和lib用了绝对路径. 
添加可执行权限:

chmod a+x mysql_import_es.sh 

执行脚本:

 ./mysql_import_es.sh

报了一个SSL连接的警告,没有错误.如果出现Error: Could not find or load main class org.xbib.tools.Runner之类的错误,很有可能是bin和lib路径出现问题.

查看导入结果:

http://localhost:9200/test/user/_search?pretty

head插件中查看: 

参考文章

ElasticSearch同步Mysql 
elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解

同步mysql的更多相关文章

  1. solr6.4.1搜索引擎同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  2. 使用Logstash来实时同步MySQL数据到ES

    上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...

  3. 使用logstash同步MySQL数据到ES

    使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...

  4. logstash同步mysql数据失败

      问题描述 前提: 项目采用Elasticsearch提供搜索服务,Mysql提供存储服务,通过Logstash将Mysql中数据同步到Elasticsearch. 问题: 使用logstash-j ...

  5. solr6.4.1搜索引擎(3)增量同步mysql数据库

    尚未实现首次同步mysql数据库的,请参考我的另一篇文章http://www.cnblogs.com/zhuwenjoyce/p/6512378.html(solr6.4.1搜索引擎同步mysql数据 ...

  6. solr6.4.1搜索引擎(2)首次同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  7. Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题

    今天在使用Logstash的jdbc_input插件同步Mysql数据时,本来应该能搜索出10条数据,结果在Elasticsearch中只看到了4条,终端中只给出了如下信息 [2017-08-25T1 ...

  8. Logstash同步mysql数据库信息到ES

    @font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @fo ...

  9. 推荐一个同步Mysql数据到Elasticsearch的工具

    把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...

  10. 使用canal增量同步mysql数据库信息到ElasticSearch

    本文介绍如何使用canal增量同步mysql数据库信息到ElasticSearch.(注意:是增量!!!) 1.简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系 ...

随机推荐

  1. php array_fill()函数 语法

    php array_fill()函数 语法 作用:用键值填充数组.大理石平台价格 语法:array_fill(index,number,value) 参数: 参数 描述 index 必需.被返回数组的 ...

  2. 科讯使用的:ckeditor编辑器.复制word图片.一直沾不上去.谁有好的解决办法呢

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  3. [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:lovemu' did not find a matching property.

    [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.js ...

  4. ZOJ 3329 One Person Game(概率DP,求期望)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3754 题目大意: 有三个骰子,分别有K1,K2,K3个面,一次投掷可以得到三个 ...

  5. node中console自定义样式

    最近公司的项目一直使用gulpfile打包,项目会有三种项目打包(生产环境)和监听(开发环境)两种过程,同时需要清除文件夹,希望打包时增加提示以便区分,暂时分为上述三种提示打包.监听.清除. 先上co ...

  6. ASP.NET-配置Dubug和Release生成不同的Web.config

    配置 Dubug 和 Release 生成不同的 Web.config Web.config Transformation Syntax for Web Application Project Dep ...

  7. 测开之路七十六:linux变量和环境变量

    变量 赋值 variable=0,访问 $var或${var} 参数 $n 用``引住的会先执行(~键) 位置参数 环境变量/etc/profile:全局的环境变量 . bash_profile:用户 ...

  8. ES6中set的用法回顾

    ES6中的set类似一个数组,但是其中的值都是唯一的,Set本身是一个构造函数,用来生成 Set 数据结构. set函数可以接受一个数组作为参数,用来初始化: const set = new Set( ...

  9. Linux 安装jdk+mysql+tomcat

    参考: 安装 jdk+mysql+tomcat   https://www.w3h5.com/post/65.html 安装 mysql  https://blog.csdn.net/qq_23123 ...

  10. [BZOJ3622] 已经没有什么好害怕的了(dp+容斥)

    Description: ​ 有两个数组a和b,两两配对,求 \(a_i>b_i\) 的配对比 \(b_i>a_i\) 的配对多 \(k\) 个的方案数 \(k\le n\le 2000\ ...