本文源码:GitHub·点这里 || GitEE·点这里

一、配置详解

场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步。

1、下载内容

  • elasticsearch 版本 6.3.2
  • logstash 版本 6.3.2
  • mysql-connector-java-5.1.13.jar

2、核心配置

  • 路径:/usr/local/logstash
  • 新建配置目录:sync-config

1)、配置全文

/usr/local/logstash/sync-config/cicadaes.conf

input {stdin {}jdbc {jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterEncoding=utf8"jdbc_user => "root"jdbc_password => "root123"jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"jdbc_default_timezone => "Asia/Shanghai"statement_filepath => "/usr/local/logstash/sync-config/user_sql.sql"schedule => "* * * * *"type => "User"lowercase_column_names => falserecord_last_run => trueuse_column_value => truetracking_column => "updateTime"tracking_column_type => "timestamp"last_run_metadata_path => "/usr/local/logstash/sync-config/user_last_time"clean_run => false}jdbc {jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterEncoding=utf8"jdbc_user => "root"jdbc_password => "root123"jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"jdbc_default_timezone => "Asia/Shanghai"statement_filepath => "/usr/local/logstash/sync-config/log_sql.sql"schedule => "* * * * *"type => "Log"lowercase_column_names => falserecord_last_run => trueuse_column_value => truetracking_column => "updateTime"tracking_column_type => "timestamp"last_run_metadata_path => "/usr/local/logstash/sync-config/log_last_time"clean_run => false}
}
filter {json {source => "message"remove_field => ["message"]}
}
output {if [type] == "User" {elasticsearch {hosts => ["127.0.0.1:9200"]index => "cicada_user_search"document_type => "user_search_index"}}if [type] == "Log" {elasticsearch {hosts => ["127.0.0.1:9200"]index => "cicada_log_search"document_type => "log_search_index"}}
}

2)、SQL文件

  • user_sql.sql
SELECTid,user_name userName,user_phone userPhone,create_time createTime,update_time updateTime
FROM c_user
WHERE update_time > : sql_last_value
  • log_sql.sql
SELECTid,param_value paramValue,request_ip requestIp,create_time createTime,update_time updateTime
FROM c_log
WHERE update_time > : sql_last_value

3)、配置参数说明

  • input参数
statement_filepath:读取SQL语句位置
schedule :这里配置每分钟执行一次
type :类型,写入ES的标识
lowercase_column_names :字段是否转小写
record_last_run :记录上次执行时间
use_column_value :使用列的值
tracking_column :根据写入ES的updateTime字段区分增量数据
tracking_column_type :区分的字段类型
  • output参数
hosts :ES服务地址
index :Index名称,类比理解数据库名称
document_type :Type名称,类比理解表名称

3、启动进程

/usr/local/logstash/bin/logstash
-f
/usr/local/logstash/sync-config/cicadaes.conf

二、ES客户端工具

1、下载软件

kibana-6.3.2-windows-x86_64

2、修改配置

kibana-6.3.2-windows-x86_64\config\kibana.yml

添加配置:

elasticsearch.url: "http://127.0.0.1:9200"

3、双击启动

kibana-6.3.2-windows-x86_64\bin\kibana.bat

4、访问地址

http://localhost:5601

三、源代码地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

转载于:https://www.cnblogs.com/cicada-smile/p/11471026.html

MySQL数据以全量和增量方式,同步到ES搜索引擎相关推荐

  1. MySQL数据以全量和增量方式,向ES搜索引擎同步流程

    本文源码:GitHub·点这里 || GitEE·点这里 一.配置详解 场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步. 1.下载内容 elasticsearch ...

  2. 看完,你就理解什么是数据的全量、增量、差异备份了

    在很远很远的地方,有一个帐房先生. 他每天要记很多很多的账单. 老先生一生谨慎,为了保证账本的安全, 便找来三个徒弟帮忙来对账本做备份, 这样即使账本丢失了, 也可以用备份的账本继续使用. 三个徒弟各 ...

  3. python 读取文件夹 增量文件_Python实现目录文件的全量和增量备份

    目标: 1.传入3个参数:源文件路径,目标文件路径,md5文件 2.每周一实现全量备份,其余时间增量备份 1.通过传入的路径,获取该路径下面的所有目录和文件(递归) 方法一:使用os.listdir ...

  4. Elasticsearch和MySQL数据同步(logstash-input-jdbc)全量增量方式同步近千万数据

    同步方案: 同步读写:最为简单的方式在将数据写到mysql时,同时将数据写到ES,实现数据的双写. 异步双写(MQ方式):MQ的性能基本比mysql高出一个数量级,所以性能可以得到显著的提高. 定时器 ...

  5. MySQL数据库全量、增量备份与恢复

    MySQL数据库全量.增量备份与恢复 数据库备份的重要性 在生产的环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果. 造成数据丢失的原因 程序错误 人为商店 计算机失败 磁盘失败 ...

  6. DataX oracle同步mysql(全量和增量)

    本篇博客说说DataX如何进行全量和增量数据同步,虽然用演示oracle同步到mysql,但其他数据库之间的同步都差不多 1.DataX介绍 DataX 是一个异构数据源离线同步工具,致力于实现包括关 ...

  7. MySQL数据库之全量+增量+二进制日志的备份与恢复

    一.简介数据的备份与恢复 1.为什么备份? 灾难恢复:人为错误.硬件故障(冗余).软件故障(bug).自然灾害.黑客攻击.误操作.-: 测试: 2.备份时应该注意些什么? 能容忍最多丢失多少数据: 恢 ...

  8. 数据库备份数据:全量备份、增量备份

    全量备份是指对某一时间点上的所有数据进行全量备份,包括系统和所有数据.这种备份方式每次都需要对系统和所有数据进行一次全量备份.如上,如果两次备份之间数据没有任何变化,那么两次备份的数据是一样的.也就是 ...

  9. mongodb数据同步到elasticsearch的中间件,支持全量,增量,实时同步等多种同步情景。(syncs MongoDB to Elasticsearch in realtime) (Mong

    GitHub - levonmo/mongo-sync-elasticsearch: mongodb数据同步到elasticsearch的中间件,支持全量,增量(新增修改删除),实时同步等多种同步情景 ...

  10. Sqoop导出模式——全量、增量insert、更新update的介绍以及脚本示例

    背景信息 SQOOP支持直接从Hive表到RDBMS表的导出操作,也支持HDFS到RDBMS表的操作, 当前需求是从Hive中导出数据到RDBMS,有如下两种方案: Ø  从Hive表到RDBMS表的 ...

最新文章

  1. sgn matlab,matlab中.*的问题
  2. 在SQL2008中清除日志
  3. JavaScript 图片的上传前预览(兼容所有浏览器)
  4. 师弟新作 | NBT:王运浩、区健辉等综述纳米孔测序技术
  5. 最详细的SSD论文笔记
  6. 空指针、NULL指针、零指针
  7. 【三维路径规划】基于matlab改进粒子滤波无人机三维路径规划【含Matlab源码 1269期】
  8. 日常记账微信小程序模板源码
  9. java text to speech_java - 无法使用“ TextToSpeech.speak()”方法 - 堆栈内存溢出
  10. 【管理度量网络安全风险】丨上海道宁为您带来强大的Tenable漏洞及风险管理解决方案
  11. win10删除微软拼音
  12. 【微信】公众号:免费注册个人公众号 公众号设置手册
  13. 【超详细】免费搭建一个资源类小程序,对接wordpress网站内容
  14. 《网络黑白》一书所抄袭的文章列表
  15. 实现内网(局域网)控制所有电脑一键关机并且系统还原的方案
  16. Strawberry Wallpaper:海量5K高清大图壁纸下载工具
  17. 数据中心(DC)核心交换机和普通交换机的区别
  18. JQuery验证手机号电话号码
  19. Google默认壁纸的尺寸要求
  20. java商品搜索功能_JavaWeb实现简单查询商品功能

热门文章

  1. pythonATM,购物车项目实战_补充6-lib模块
  2. send tcp char far_wemos D1 arduino项目实战1-TCP协议连接Tlink平台③
  3. 2022考研计算机是热门专业吗,2022计算机考研专业复习规划是什么?
  4. [转] Scala Try 与错误处理
  5. JavaScript 将两个数组合并,且删除重复的值
  6. 【Vim命令大全】史上最全的Vim命令
  7. 如何从零设计结构清晰、操作友好的权限管理模块
  8. [转载]JUnit3 与 JUnit4 的区别
  9. HOLOLENS的DEVICE POTAL连接和安装
  10. Android定位地图导航——基于百度地图,实现自定义图标绘制并点击时弹出泡泡...