本文介绍如何使用logstash同步mysql数据库信息到ElasticSearch.

1.准备工作

1.1 安装JDK

网上文章比较多,可以参考:https://www.dalaoyang.cn/article/16

1.2 安装Logstash

我使用了5.x版本和6.x版本,可以参考:https://www.dalaoyang.cn/article/80

7.x版本未尝试!!!

1.3 安装ruby

安装过程可以参考:https://blog.csdn.net/qq_26440803/article/details/82717244,已经非常详细了。

1.4 安装gem

安装

yum install gem

gem源修改

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

1.5 修改logstash中的Gemfile和Gemfile.jruby-1.9.lock文件

修改上图中Gemfile文件红框位置为

source "https://gems.ruby-china.com/"

修改上图中Gemfile.jruby-1.9.lock文件(其他版本logstash可能不叫这个名字,但是名字类似)红框位置为

remote: https://gems.ruby-china.com/

1.6 安装bundler

安装

gem install bundler

1.7 安装logstash-input-jdbc插件

安装

bin/logstash-plugin  install logstash-input-jdbc

1.8 准备mysql-connector-java-x.x.x.jar

需要准备一个mysql-connector-java-x.x.x.jar对应版本的jar,这里使用的是mysql-connector-java-5.1.6.jar。

这个可以去官网下载:https://dev.mysql.com/downloads/connector/j/5.1.html

2.配置logstash

创建mysql-es.conf配置文件,名称可以自定,这里数据表以我博客友情链接表为例,内容如下:

input {
jdbc {
# 驱动包位置
jdbc_driver_library => "/usr/local/logstash/logstash-5.6.16/mysql-connector-java-5.1.6.jar"
# 驱动
jdbc_driver_class => "com.mysql.jdbc.Driver"
# 数据库地址
jdbc_connection_string => "jdbc:mysql://ip:3306/dalaoyang"
# 数据库连接用户名
jdbc_user => "root"
# 数据库连接用户密码
jdbc_password => "password"
# 执行sql语句文件位置
# statement_filepath => "filename.sql"
# 执行sql
statement => "SELECT * from link_info"
# 是否分页
jdbc_paging_enabled => "true"
# 分页数量
jdbc_page_size => "50000"
type => "jdbc"
tracking_column => "update_date"
use_column_value => false
# 执行任务时间间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
schedule => "* * * * *"
}
} output {
elasticsearch {
hosts => "ip:端口"
index => "test-mysql"
# 数据库中的id
document_id => "%{link_id}"
}
}

3.启动logstash

执行命令启动

bin/logstash  -f mysql-es.conf

启动后可以看到如图所示

4.查看ElasticSearch

在ElasticSearch-head中可以看到对应mysql中的数据,如图

5.总结

总的来说过程还是很简单的,没有遇到太大的问题,这只是mysql同步es的一种方式,还有很多方式可以使用。

使用logstash同步mysql数据库信息到ElasticSearch的更多相关文章

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

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

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

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

  3. 使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch

    本文介绍如何使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch. 1.go-mysql-elasticsearch简介 go-mysql-elasti ...

  4. 如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch

    在开发过程中,我们经常会遇到对业务数据进行模糊搜索的需求,例如电商网站对于商品的搜索,以及内容网站对于内容的关键字检索等等.对于这些高级的搜索功能,显然数据库的 Like 是不合适的,通常我们采用 E ...

  5. 几篇关于MySQL数据同步到Elasticsearch的文章---第四篇:使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch

    文章转载自: https://www.cnblogs.com/dalaoyang/p/11018541.html 1.go-mysql-elasticsearch简介 go-mysql-elastic ...

  6. 【记录】ELK之logstash同步mysql数据到Elasticsearch ,配置文件详解

    本文出处:https://my.oschina.net/xiaowangqiongyou/blog/1812708#comments 截取部分内容以便学习 input { jdbc { # mysql ...

  7. Elasticsearch的快速使用——Spring Boot使用Elastcisearch, 并且使用Logstash同步mysql和Elasticsearch的数据

    我主要是给出一些方向,很多地方没有详细说明.当时我学习的时候一直不知道怎么着手,花时间找入口点上比较多,你们可以直接顺着方向去找资源学习. 如果不是Spring Boot项目,那么根据Elastics ...

  8. centos7配置Logstash同步Mysql数据到Elasticsearch

    Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...

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

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

随机推荐

  1. redis命令之 ----Set(集合)

    SADD SADD key member [member ...] 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略. 假如 key 不存在,则创 ...

  2. vue-cli安装以及创建一个简单的项目(二)(vuex使用、发行一个简单的app)

    1.vuex的使用 vuex是vue的状态管理中心,vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,常用于: 1.多个视图依赖同一状态(l例:菜单导航) 2.来自不同 ...

  3. Logstash:运用jdbc_streaming来丰富我们的数据

    需要学习的地方:使用logstash获取数据后,然后根据这些数据再从MySQL数据库中进行匹配,增加一些数据到logstash的数据流中,然后输出到es 在IoT物联网时代,我们经常会遇到从传感器采集 ...

  4. 利用 Symbol Type Viewer 工具实现将 pdb 文件 转换为 c\c++ 头文件

    利用 Symbol Type Viewer 工具实现将 pdb 文件 转换为 c\c++ 头文件 一.得到符号 二.将符号转换为 .h 文件 三.得到 c\c++ 头文件,之后编程时直接导入这个文件即 ...

  5. C#中怎样跨窗体调用事件-从事件订阅实例入手

    场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 ...

  6. java--set,Collections,map

    set 特点: 无序, 不允许重复 没有索引 Set<String> set = new HashSet<String>(); set.add("hello" ...

  7. i春秋-“百度杯”CTF比赛 十月场-Login

    源码发下提示 尝试登陆 得到个什么鬼, 但是相应包里发现个可疑的东西   //  CTF中的0 和1 这些一般都有套路的 然后在请求头里 改为 1 ##代码审计来了..   分析了半天 后来看了别人的 ...

  8. 【原】通过Spring结合Cglib处理非接口代理

    前言: 之前做的一个项目,虽然是查询ES,但内部有大量的逻辑计算,非常耗时,而且经常收到JVM峰值告警邮件.分析了一下基础数据每天凌晨更新一次,但查询和计算其实在第一次之后就可以写入缓存,这样后面直接 ...

  9. Django 练习班级管理系统六 -- 编辑老师列表

    修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models ...

  10. 实时人流量监测——海康威视sdk初体验

    本文主要是博主使用海康SDK进行人流量统计的摸索过程,在这里简单记录一下. 查询文档,能实现人流量统计大概有两种方式,报警或者监听, 这边我选择了监听方式,NET_DVR_StartListen_V3 ...