logstash增量同步mysql数据到es
本篇本章地址:https://www.cnblogs.com/Thehorse/p/11601013.html
今天我们来讲一下logstash同步mysql数据到es
我认为呢,logstash是众多同步mysql数据到es的插件中,最稳定并且最容易配置的一个。
input {
stdin {
}
jdbc {
type => "xxx"
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/yinhelaowu"
jdbc_user => "root"
jdbc_password => "root"
jdbc_driver_library => "mysql1/mysql-connector-java-5.1.17-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => true
jdbc_page_size => "500"
record_last_run => true
use_column_value => true
tracking_column => "id"
last_run_metadata_path => "mysql1/jdbc1"
clean_run => "false"
statement_filepath => "mysql1/jdbc.sql"
schedule => "* * * * *"
clean_run => false
}
}
我来讲一下这些属性的作用,像type这个 主要是为了声明这个jdbc{} 这个处理对象的,type可以定义任意值,
jdbc_connection_string ,这个是数据库地址 还有用户名密码
jdbc_driver_library,logstash是需要使用jdbc来连接mysql的,并且使用logstash必须配置java环境,jdk1.8以上
jdbc_driver_class给本次连接起名 statement_filepath 这个是执行的sql语句
schedule 是表示多长时间同步一下数据 如果是******表示一分钟同步一次
last_run_metadata_path这个会记录你最后一次同步数据的一些值,比如你可以记录创建时间,和自增的id,
type索引类型
clean_run 是否清楚执行过的数据
到了下边
#这是输出流
output {
#这个type是上面jdbc的type,有了这个if就可以进行批处理
if [type]=="TInquiryInfo"{
elasticsearch {
#这边的端口一定是9200,java中使用的端口是9300这边不要弄混了
hosts => ["localhost:9200"]
# 索引名称
index => "ca-inquiry"
# type名称
document_type => "TInquiryInfo"
# 文档id,inquiryId为sql文件中查询出的字段名
document_id => "%{inquiryId}"
}
}
}
下面是执行的sql写法
SELECT c.*,CONCAT(CONCAT(c.lat,','),c.lng) AS location,u.`praise`,u.`age`,u.`area_id` FROM zsf_carftsmanship c
LEFT JOIN zsf_user u ON c.user_id = u.`id` WHERE c.id > :sql_last_value
像elasticsearch这种大数据量查询,多表关联查询无疑对性能有很大的冲击,所以这边我直接做了关联查询
这样的话可以大大提高es的查询性能,这个:sql_last_value是last_run_metadata_path中记录的值
logstash增量同步mysql数据到es的更多相关文章
- 使用logstash同步MySQL数据到ES
使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...
- 使用Logstash来实时同步MySQL数据到ES
上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...
- Canal——增量同步MySQL数据到ElasticSearch
1.准备 1.1.组件 JDK:1.8版本及以上: ElasticSearch:6.x版本,目前貌似不支持7.x版本: Kibana:6.x版本: Canal.deployer:1 ...
- Logstash-input-jdbc同步mysql数据到ES - sql_last_value
问题:使用 Logstash-input-jdbc同步mysql到ES, 当中使用了 sql_last_value ,如何重新同步? 答: logstash把上一次同步的最后一条记录id写到 c:\用 ...
- 10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.创建MySQL数据 create database solr; use solr; DROP TABLE ...
- docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES
一.前言 在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elasticsea ...
- centos7配置Logstash同步Mysql数据到Elasticsearch
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...
- 推荐一个同步Mysql数据到Elasticsearch的工具
把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...
- 实战ELK(6)使用logstash同步mysql数据到ElasticSearch
一.准备 1.mysql 我这里准备了个数据库mysqlEs,表User 结构如下 添加几条记录 2.创建elasticsearch索引 curl -XPUT 'localhost:9200/user ...
- logstash使用template提前设置好maping同步mysql数据到Elasticsearch5.5.2
上篇blog说到采用logstash-input-jdbc将mysql数据同步到ES(http://www.cnblogs.com/jstarseven/p/7704893.html),但是这里有一个 ...
随机推荐
- geom_smooth trasparent alpha 透明度
stat_smooth (geom="line", alpha=0.3, size=3, span=0.5) + geom_line(stat="smooth" ...
- R 曲线拐点
x = seq(1,15) y = c(4,5,6,5,5,6,7,8,7,7,6,6,7,8,9) plot(x,y,type="l",ylim=c(3,10)) lo < ...
- maven插件实现项目一键“run maven、debug maven”等命令 => 插件名:“maven helper”
1.在IDEA中下载插件 2.使用 总结:通过 "maven helper" 插件即可通过命令实现对项目的一键管理
- python补全用法,windows环境和linux环境
一.windows中python tab具体如下: 1.python3环境装好后,初始环境是没有装readline模块的,先装它. pip install pyreadline 2.在在python的 ...
- springBoot的全局异常处理
GlobalException.java package com.bank.util; import com.bank.exception.ContentEmpyException; import c ...
- 西电oj245 成绩统计 结构体数组使用
#include<stdio.h> struct student{ //定义一个结构体数组 int num; char name[11]; float g1; float g2; floa ...
- Centos7安装nodejs(npm)
执行命令: 设置yum安装源> curl --silent --location https://rpm.nodesource.com/setup_14.x | sudo bash (14是大的 ...
- pip第三方库安装失败原因及解决办法
pip安装三方库失败原因及解决方法 提示:WARNING: You are using pip version 20.2.3, however version 20.2.4 is available. ...
- 理解Map-构建关联数组
理解Map 要更深入理解map,学习如何构建关联数组是很有帮助的,以下是简单实现 package org.example.onjava.senior.example03collection.map; ...
- ElasticSearch 实现分词全文检索 - 复合查询
目录 ElasticSearch 实现分词全文检索 - 概述 ElasticSearch 实现分词全文检索 - ES.Kibana.IK安装 ElasticSearch 实现分词全文检索 - Rest ...