使用logstash同步mysql数据库信息到ElasticSearch
本文介绍如何使用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的更多相关文章
- Logstash同步mysql数据库信息到ES
@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @fo ...
- 使用canal增量同步mysql数据库信息到ElasticSearch
本文介绍如何使用canal增量同步mysql数据库信息到ElasticSearch.(注意:是增量!!!) 1.简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系 ...
- 使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch
本文介绍如何使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch. 1.go-mysql-elasticsearch简介 go-mysql-elasti ...
- 如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch
在开发过程中,我们经常会遇到对业务数据进行模糊搜索的需求,例如电商网站对于商品的搜索,以及内容网站对于内容的关键字检索等等.对于这些高级的搜索功能,显然数据库的 Like 是不合适的,通常我们采用 E ...
- 几篇关于MySQL数据同步到Elasticsearch的文章---第四篇:使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch
文章转载自: https://www.cnblogs.com/dalaoyang/p/11018541.html 1.go-mysql-elasticsearch简介 go-mysql-elastic ...
- 【记录】ELK之logstash同步mysql数据到Elasticsearch ,配置文件详解
本文出处:https://my.oschina.net/xiaowangqiongyou/blog/1812708#comments 截取部分内容以便学习 input { jdbc { # mysql ...
- Elasticsearch的快速使用——Spring Boot使用Elastcisearch, 并且使用Logstash同步mysql和Elasticsearch的数据
我主要是给出一些方向,很多地方没有详细说明.当时我学习的时候一直不知道怎么着手,花时间找入口点上比较多,你们可以直接顺着方向去找资源学习. 如果不是Spring Boot项目,那么根据Elastics ...
- centos7配置Logstash同步Mysql数据到Elasticsearch
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...
- 使用logstash同步MySQL数据到ES
使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...
随机推荐
- 一个简单的利用 WebClient 异步下载的示例(二)
继上一篇 一个简单的利用 WebClient 异步下载的示例(一) 后,我想把核心的处理提取出来,成 SkyWebClient,如下: 1. SkyWebClient 该构造函数中 downloadC ...
- FusionInsight大数据开发--HBase应用开发
HBase应用开发 HBase的定义 HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统. 适合于存储大表数据,可以达到实时级别. 利用Hadoop HDFS 作为其文件存储系统,提供实时 ...
- WPF实现背景透明磨砂,并通过HandyControl组件实现弹出等待框
前言:上一个版本的Winform需要改成WPF来做界面,第一次接触WPF,在转换过程中遇到的需求就是一个背景透明模糊,一个是类似于 加载中…… 这样的等待窗口,等后台执行完毕后再关掉.在Winform ...
- 这些Python库真的很“冷”,但是却很强大
Python是一种很棒的编程语言.事实上,它还是世界上发展最快的编程语言之一.它一次又一次证明了它在数据科学职位中的实用性.整个Python及其库的生态系统使其成为全世界用户(初学者和高级)的合适选择 ...
- 面试阿里百分百问的Jvm,别问有没有必要学,真的很有必要朋友
面试阿里百分百问的Jvm,别问有没有必要学,真的很有必要朋友 前言: JVM 的内存模型和 JVM 的垃圾回收机制一直是 Java 业内从业者绕不开的话题(实际调优.面试)JVM是java中很重要的一 ...
- HTML 使用表格制作简单的个人简历
复习一下HTML,用表格做一个简单的个人简历 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...
- Java打印9*9乘法表
废话不多说直接贴代码, 先放一个标准的正三角形状的 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System ...
- [b0018] python 归纳 (四)_运算符重载
# -*- coding: UTF-8 -*- """ 测试运算符重载 加法 总结: python 运算符表达式其实都是调用 类中方法 __xxx__ + <--- ...
- 【原创】CentOS 7 安装redis 5
1.下载redis安装包 cd /softwares/ wget http://download.redis.io/releases/redis-5.0.5.tar.gz 2.解压redis-5.0. ...
- 【Git版本控制】Idea中设置Git忽略对某些文件的版本追踪
在Idea中有些本地文件无需与远程库同步,仅是本地使用.此时就需要将这些文件加入到Git的版本忽略中来. 设置步骤 1.搜索插件 .ignore,并安装 2.增加.gitignore文件 3.配置相应 ...