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. python设置文字输出颜色

    #!/usr/bin/env python # -*- coding:utf-8 -*- """ @Time: 2018/5/5 20:43 @Author: Jun H ...

  2. 一个关于 ie 浏览器的 bug 解决过程和思考

    首先我们测试了老师反馈的异常情况.这所中学使用的是 IE8 浏览器.IE8 浏览器提交作文评分的情况是:一直停留在“正在提交系统评分”的页面,停留了很长时间以后,页面空白. 换用火狐浏览器,可以正常评 ...

  3. 关于CSS你应该知道的基础知识 - 样式应用篇

    上一篇简单总结了一下选择器,如果一个元素被多个选择器选中,元素的样式就会以级联方式被应用到.要搞清最终那个样式被应用到元素上了,首先要明白引用CSS代码的几种方式. CSS代码引用方式 如何应用CSS ...

  4. css中div垂直居中的方法。

    利用绝对定位实现的居中 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  5. p5414 [YNOI2019]排序

    分析 这是真正的云南oi/px 我们需要考虑保留一段不降子序列 剩余的自由往前往后移动 所以dp一下即可 代码 #include<bits/stdc++.h> using namespac ...

  6. 更新系统时间 & 查看/修改LINUX时区和时间

    一.时区0. date '+%Y%M%D' 按照格式显示当前日期,结果如下: date "+%Y-%m-%d %H:%M:%S" 1. 查看当前时区 :[root@master ~ ...

  7. LeetCode 113. Path Sum II 动态演示

    给第一个目标值,返回一棵树从根到叶子所有和等于目标值的路径. 经典的深度优先算法 /** * Definition for a binary tree node. * struct TreeNode ...

  8. spring-第四篇之让bean获取所在的spring容器

    1.如上一篇文章所述,有时候bean想发布一些容器事件,就需要先获取spring容器,然后将Event交由spring容器将事件发布出去. 为了让bean获取它所在的spring容器,可以让该bean ...

  9. 一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍!

    作者:风过无痕-唐 http://www.cnblogs.com/tangyanbo/p/4462734.html 场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表: create  ...

  10. ubuntu离线安装mysql

    一:ubuntu离线安装mysql 转载来源:https://blog.csdn.net/liuhuoxingkong/article/details/80696574 参考文章:https://ww ...