本篇本章地址: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中记录的值



转载于:https://www.cnblogs.com/Thehorse/p/11601013.html

logstash增量同步mysql数据到es相关推荐

  1. 利用Canal全量/增量同步mysql数据至ES

    Canal同步mysql数据至ES 1.更改Mysql配置 1.1 开启 Binlog 写入功能 配置 binlog-format 为 ROW 模式,配置my.cnf [mysqld] log-bin ...

  2. Elasticsearch7.9集群部署,head插件,canal同步mysql数据到es,亲自测试,无坑

    Elasticsearch集群部署 1.服务器规划 10.4.7.11 node1 10.4.7.12 node2 10.4.7.13 node3 1. 集群相关    一个运行中的 Elastics ...

  3. flink-cdc 同步mysql数据到ES时间格式问题。

    flink-cdc 能够读取binlog日志,从而实现mysql数据到ES的秒级同步. 好用的同时又有很多烦恼,其中时间格式就是一个很头痛的问题. 直接进入正题. 使用es7和mysql 5.7为例 ...

  4. es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...

    问题描述: 在使用logstash同步mysql数据库中的数据,在使用logstash7.4.1以前的版本,输出的sql日志如下: [2019-12-09T10:50:01,585][INFO ][l ...

  5. logstash-input-jdbc 同步mysql数据到es

    场景 在某些搜索类的项目中,经常需要同步mysql的数据到es,方便及时打通两边的数据满足业务上对于数据搜索的需求,通常情况下,可以考虑两种数据同步方案,全量同步或增量同步 解决方案 在elk的架构中 ...

  6. solr mysql增量导入_10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)

    1.创建MySQL数据 create databasesolr;usesolr;DROP TABLE IF EXISTSstudent;CREATE TABLEstudent ( idchar(10) ...

  7. Logstash同步mysql数据

    Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...

  8. 《果然新鲜》电商项目(44)- 利用Logstash自动同步数据库内容到ES

    文章目录 1. 如何实现数据库与ES同步 2.数据库数据录入 3. logstash同步数据库内容到ES 3.1 logstash安装插件 3.1.1 logstash-input-jdbc插件安装 ...

  9. 使用canal实时同步MySQL数据到Elasticsearch

    使用canal实时同步MySQL数据到Elasticsearch 搭建环境 安装 elasticsearch 安装 kibana 下载和安装canal 1.下载canal 2.配置MySQL 3.配置 ...

最新文章

  1. 什么是回归分析(regression analysis)?有哪些类型的回归分析(regression analysis)?
  2. windows部署微服务jar包 yml_杰克布开源项目,低代码开发框架,Docker快速部署
  3. C#中的委托和事件 (7)---总结
  4. 在Windows上以服务方式运行 MSOPenTech/Redis
  5. 面试字节跳动,我被怼了……
  6. java中spring的级别_java – 在简单的示例项目中更改Spring框架日志级别?
  7. python基础:字典的使用
  8. 我们就要想办法的s9t9
  9. Spring MVC遭遇checkbox的问题解决方案
  10. 易到负责人喊话:没钱!易到用车深陷欠薪危机 司机围堵总部讨说法无果
  11. ps制作哈7海报字体
  12. Win10 卸载了某软件,右键还有该软件,如何删除呢?
  13. 基于MATLAB的三重积分与曲线积分
  14. Thingworx - 导航
  15. Java学习Day_11
  16. 发明专利、实用新型专利、外观设计专利
  17. 关于节日文化的HTML网页设计-----二十四节气
  18. 学士峡谷风景Mac壁纸分享
  19. 随手记——老夫死活记不住定理
  20. [Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误

热门文章

  1. 一键伪装成 Windows 10:Kali Linux 2019.4 版本推出 “Undercover” 模式
  2. 14.12.1类的特殊成员1
  3. java测试驱动开发(TDD)之《井字游戏》
  4. 在VSCode中编辑HTML文档时,在Dom标签上写style属性时智能提示的问题
  5. 使用RTL-SDR打开车门
  6. [老生常谈] Linux 下读取windows共享目录
  7. DOM 中的事件处理
  8. MVC工作中的笔记~2(架构师是一步一步练成的)
  9. 关于C++ 中大小端和位域
  10. Ubuntu 12.04下关闭图形界面知识整理-转