logstash同步mysql数据到elasticsearch,动态模板
后台运行logstash
Last login: Thu Jul 23 17:50:26 2020
[root@localhost ~]# nohup /home/essoft/logstash-6.8.0/bin/logstash -f /home/essoft/logstash-6.8.0/bin/mysql/allfiledtalentid.conf >/dev/null &
只是单纯的模板记录,各项属性待研究
input {
stdin { }
jdbc {
type => "talent_all_type"
#数据库地址
# mysql 数据库链接,itv_web_log为数据库名
jdbc_connection_string => "jdbc:mysql://192.168.0.100:3306/ztwbxwtest?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
# 用户名和密码
jdbc_user => "root"
jdbc_password => "123456"
# 驱动
jdbc_driver_library => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/mysql-connector-java-5.1.37.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
#sql路径
# 执行的sql 文件路径+名称
statement_filepath => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/allfiledtalentid.sql"
#是否开启记录追踪
record_last_run => "true"
#是否需要追踪字段,如果为true,则需要指定tracking_column,默认是timestamp
use_column_value => "true"
#指定追踪的字段
tracking_column => "f_talent_id"
#追踪字段的类型,目前只有数字和时间类型,默认是数字类型
#tracking_column_type => "timestamp"
#设置时区
#jdbc_default_timezone =>"Asia/Shanghai"
#是否每次清除 last_run_metadata_path 的内容
clean_run => "false"
#这里可以手动设置:sql_last_value的值,默认时间是1970-01-01,默认数字是0
#们只需要在 SQL 语句中 WHERE MY_ID > :last_sql_value 即可. 其中 :sql_last_value 取得就是该文件中的值
last_run_metadata_path => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/logstashrun/allfiledtalentid.txt"
#多久同步一次
schedule => "* * * * *"
#是否分页
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
jdbc {
type => "cv_talent_resume_jobs_type"
#数据库地址
# mysql 数据库链接,itv_web_log为数据库名
jdbc_connection_string => "jdbc:mysql://192.168.0.100:3306/ztwbxwtest?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
# 用户名和密码
jdbc_user => "root"
jdbc_password => "123456"
# 驱动
jdbc_driver_library => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/mysql-connector-java-5.1.37.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
#sql路径
# 执行的sql 文件路径+名称
statement_filepath => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/cv_talent_resume_jobs.sql"
#是否开启记录追踪
record_last_run => "true"
#是否需要追踪字段,如果为true,则需要指定tracking_column,默认是timestamp
use_column_value => "true"
#指定追踪的字段
tracking_column => "f_ctj_id"
#追踪字段的类型,目前只有数字和时间类型,默认是数字类型
#tracking_column_type => "timestamp"
#设置时区
#jdbc_default_timezone =>"Asia/Shanghai"
#是否每次清除 last_run_metadata_path 的内容
clean_run => "false"
#这里可以手动设置:sql_last_value的值,默认时间是1970-01-01,默认数字是0
#们只需要在 SQL 语句中 WHERE MY_ID > :last_sql_value 即可. 其中 :sql_last_value 取得就是该文件中的值
last_run_metadata_path => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/logstashrun/cv_talent_resume_jobs.txt"
#多久同步一次
schedule => "* * * * *"
#是否分页
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
}
filter {
# json {
# source => "message"
# remove_field => ["message"]
# }
mutate {
#指定要删除的字段
#remove_field => "tempid"
#remove_field => "f_ctr_talentId"
#remove_field => "f_ctj_resumeId"
#remove_field => "f_ctre_resumeId"
#remove_field => "f_ctrp_resumeId"
#remove_field => "f_ctrs_resumeId"
#merge => {"author" => ["name","price"]}
}
}
output {
#stdout {
# codec => rubydebug
#}
if[type] == "talent_all_type"{
elasticsearch {
hosts => ["http://192.168.0.101:9200/"]
index => "talent_all"
upsert => "update"
document_id => "%{f_talent_id}"
manage_template => true
template_overwrite => true
template_name => "talent_allfiled"
template => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/personalset/cv_talent_allfiled_template.json"
}
}
if[type] == "cv_talent_resume_jobs_type"{
elasticsearch {
hosts => ["http://192.168.0.101:9200/"]
index => "resume_jobs"
upsert => "update"
document_id => "%{f_ctj_id}"
manage_template => true
template_overwrite => true
template_name => "cv_talent_resume_jobs_template"
template => "/home/elksofts/logstash-6.8.0/bin/mysqlv1/personalset/cv_talent_resume_jobs_template.json"
}
}
}
======
cv_talent_allfiled_template.json
{
"settings":{
"number_of_shards": 3,
"number_of_replicas": 0
},
"template": "talent_all",
"mappings": {
"doc": {
"dynamic_templates": [
{
"integers": {
"match_mapping_type": "long",
"mapping": {
"type": "integer"
}
}
},
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "text",
"analyzer": "ik_max_word",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
]
}
}
}
=====
cv_talent_resume_jobs_template.json
{
"settings":{
"number_of_shards": 3,
"number_of_replicas": 0
},
"template": "resume_jobs",
"mappings": {
"doc": {
"dynamic_templates": [
{
"integers": {
"match_mapping_type": "long",
"mapping": {
"type": "integer"
}
}
},
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "text",
"analyzer": "ik_max_word",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
]
}
}
}
logstash同步mysql数据到elasticsearch,动态模板相关推荐
- Logstash同步mysql数据
Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...
- 使用canal实时同步MySQL数据到Elasticsearch
使用canal实时同步MySQL数据到Elasticsearch 搭建环境 安装 elasticsearch 安装 kibana 下载和安装canal 1.下载canal 2.配置MySQL 3.配置 ...
- elasticsearch通过logstash同步mysql数据(中文分词)
Elasticsearch 目录 概述 索引(Index) 类型(Type) 文档(Document) 倒排索引(Inverted Index) 节点(Node) 安装 启动 DSL(查询语句) 官方 ...
- es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...
问题描述: 在使用logstash同步mysql数据库中的数据,在使用logstash7.4.1以前的版本,输出的sql日志如下: [2019-12-09T10:50:01,585][INFO ][l ...
- 使用canal同步MySQL数据到Elasticsearch(ES)
目录 1.功能及使用场景 1.1.功能介绍 1.2.使用场景 2.需求引入 3.canal文件下载及准备 3.1 下载文件 3.2 准备文件 4.deployer安装及效果测试 4.1.deploye ...
- canal deployer+canal adapter自动同步MySQL数据到ElasticSearch
一.安装Elastic Search 6.8 1.下载 Elastic Search 6.8资源下载 2.部署环境配置 创建用户(es不能使用root启动,否则报错) adduser elastic ...
- Logstash 安装及简单实用(同步MySql数据到Elasticsearch)
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件 Windows环境: 1.下载logstas ...
- 【Elasticsearch】推荐一个同步Mysql数据到Elasticsearch的工具
1.概述 转载:https://elasticsearch.cn/article/756
- logstash增量同步mysql数据到es
本篇本章地址:https://www.cnblogs.com/Thehorse/p/11601013.html 今天我们来讲一下logstash同步mysql数据到es 我认为呢,logstash是众 ...
最新文章
- 初级ABAPer考题
- Mysql中各种与字符编码集(character_set)有关的变量含义
- PHP的学习--RSA加密解密
- 电脑网络维护_电脑维护小技巧(全面)
- Win7系统隐藏文件恢复的方法
- Spring框架 AOP
- 刚刚,北京正式允许无人车上路路测!准入门槛500万元
- IS-IS详解(十三)——IS-IS 路由开销类型
- Windows下PyMC安装
- Unity学习笔记(一)——C#语法基础
- 原力值13872,不知道排名多少
- java报错: 类重复: newemission.calculate_java当中的继承(一)
- 计算机专业技术卷,全国计算机技术与软件专业技术资格(水平)考试1990-2009软件设计师历年真题及答案...
- linux u盘安装win8,u盘启动大师安装深度技术win8.1系统教程
- 产品设计:《现代设计史》
- 程序员可以培养的第二技能有哪些?
- linux复制文件命令
- andoird 设置锁屏上不显示通知
- MATLAB演示元胞自动机算法
- Kalman滤波器从原理到实现
热门文章
- web sso 单点登录简单实例源码
- 【Web技术】1486- 在页面关闭时提交监控数据的4个解决方案
- 灌区量测水监测系统解决方案 灌区量测水系统解决方案 农业水价综合改革解决方案
- [BZOJ3236][Ahoi2013]作业(莫队+树状数组)
- 教资注册后报名前,这个细节千万不要忘记!
- Ubuntu mysql 修改密码失败的问题ERROR 1045 (28000): Access denied for user ‘debian-sys-maint‘@‘localhost‘
- 累积分布图/累积分布函数/分布函数/概率分布函数
- echarts如何去除饼图指示线
- 根据天数(由用户输入)计算这些天数中有几周和剩余的天数,例如:用户输入的是45 ,输出结果为:45天是6周余3天
- Aggregation Model : Blending , Bagging , Boosting