下载logstash-6.5.4 ZIP解压和es 放到es根目录下

下载mysql jdbc的驱动 mysql-connector-java-8.0.12 放在任意目录下

以下方式采用动态模板,还有一种方式静态模板可以指定字段映射,那样效率低一点。

一、创建配置文件 mysqltoes.conf

input {
stdin { }
jdbc {
#填写你的mysql链接串8以后驱动必须这样写,不然后出错,这个问题我搞了好几天才解决 {host}:3306/{database}
jdbc_connection_string => "jdbc:mysql://localhost:3306/easycms?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
#链接数据库用户名称
jdbc_user => "root"
#链接数据库的密码
jdbc_password => "root"
#指定驱动的位置
jdbc_driver_library => "D:/soft/elasticsearch-6.4.1/bin/mysql-connector-java-8.0.12.jar"
#最新的mysql驱动写法,写以前的驱动会报错
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#同步的表,这里也可以只想一个写了sql的文件
statement => "SELECT * from sys_message"
#表示每分钟都同步数据
schedule => "* * * * *"
}
}
filter {
date {
# 有多个项的话能匹配多个不同的格式
match => [ "createAt", "MMM dd yyyy HH:mm:ss","ISO8601" ]
target => "fieldName1"
timezone => "Asia/Shanghai"
}
}

output {
stdout {
codec => json_lines
}
elasticsearch {
#数据到es
hosts => "localhost:9200"
#指定索引,名字任意
index => "sysmessage"
#指定类型,任意
document_type => "messagedata"
document_id => "%{id}"
template_overwrite => true
#模板中的template名需要和output中的索引名一致,template可以使用*配置任意字符。
template => "mysqltoes-template.json"
}
}

二、创建mysqltoes-template.json 也放在logstash-6.5.4\bin目录下

使用logstash dynamic template功能,字段添加映射ik分词器

{
"template":"*",
"version":60001,
"settings":{
"index.refresh_interval":"5s"
},
"mappings":{
"_default_":{
"dynamic_templates":[
{
"message_field":{
"path_match":"message",
"match_mapping_type":"string",
"mapping":{
"type":"text",
"norms":false
}
}
},
{
"string_fields":{
"match":"*",
"match_mapping_type":"string",
"mapping":{
"type":"text",
"norms":false,
"analyzer":"ik_max_word",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
}
}
}
],
"properties":{
"timestamp":{
"type":"date"
},
"version":{
"type":"keyword"
},
"geoip":{
"dynamic":true,
"properties":{
"ip":{
"type":"ip"
},
"location":{
"type":"geo_point"
},
"latitude":{
"type":"half_float"
},
"longitude":{
"type":"half_float"
}
}
}
}
}
}
}

三、执行命令

然后切换到logstash-6.5.4\bin 目录下执行命令  logstash -f mysqltoes.conf

四、效果

参考:https://blog.csdn.net/u012976879/article/details/85259911

https://www.cnblogs.com/jstarseven/p/7707499.html

https://blog.csdn.net/github_38787002/article/details/84993664

logstash6.5.4同步mysql数据到elasticsearch 6.4.1的更多相关文章

  1. 推荐一个同步Mysql数据到Elasticsearch的工具

    把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...

  2. centos7配置Logstash同步Mysql数据到Elasticsearch

    Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...

  3. Elasticsearch--Logstash定时同步MySQL数据到Elasticsearch

    新地址体验:http://www.zhouhong.icu/post/139 一.Logstash介绍 Logstash是elastic技术栈中的一个技术.它是一个数据采集引擎,可以从数据库采集数据到 ...

  4. 实战ELK(6)使用logstash同步mysql数据到ElasticSearch

    一.准备 1.mysql 我这里准备了个数据库mysqlEs,表User 结构如下 添加几条记录 2.创建elasticsearch索引 curl -XPUT 'localhost:9200/user ...

  5. 同步mysql数据到ElasticSearch的最佳实践

    Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全 ...

  6. 【记录】ELK之logstash同步mysql数据到Elasticsearch ,配置文件详解

    本文出处:https://my.oschina.net/xiaowangqiongyou/blog/1812708#comments 截取部分内容以便学习 input { jdbc { # mysql ...

  7. Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MySQL数据到ElasticSearch

    Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podm ...

  8. 使用logstash同步mysql数据到elasticsearch

    下载 logstash tar -zxvf https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz .tar.gz ...

  9. 实现logstash6.4.3 同步mysql数据到Elasticsearch6.4.3

    本文旨在实践把mysql已有的数据同步到elasticsearch中,使用的版本是6.4.3,对于其它6.x版本理应是一样的处理方式. 本文目录: 1.初始化Elasticsearch 6.4.3 1 ...

随机推荐

  1. 怎样获取所有style节点

    通过 document.styleSheets 获取所有的样式表节点. document.styleSheets instanceof StyleSheetList; // true 注意: 1. 返 ...

  2. 测试clang-format的格式化效果

    我自己写的业余框架已告一段落,主体功能已完成,剩下的就是优化.第一个要优化的,就是代码格式.我一直是用编辑器写代码的,从之前的UltraEdit到notepad++到sublime text,再到现在 ...

  3. 【Git】三、版本回退&撤消修改&文件删除

    提要 //查看git操作日志 $ git log //单行格式查看操作日志 $ git log --pretty=oneline //还原操作到上一次版本,有几个^就上几次 $ git reset - ...

  4. 交换机配置-----monitor session

    目录 交换机配置-----monitor 1.前言 2.monitor session的作用 3.配置命令 4.使用 交换机配置-----monitor 1.前言 本文章适用于Dell Network ...

  5. C和指针--动态内存分配

    1.为什么需要使用动态内存分配 数组的元素存储于内存中连续的位置上,当一个数组被声明时,它所需要的内存在编译时就被分配.当你声明数组时,必须用一个编译时常量指定数组的长度.但是,数组的长度常常在运行时 ...

  6. 13_Redis_持久化

    一:概述: Redis的高性能是山于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种方式的持久化,一 ...

  7. PAT Basic 1084 外观数列 (20 分)

    外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...

  8. iview 表单验证不通过问题?

    项目需要,需要怂iview..使用一段时间感觉跟elementUI用起来差不多很方便.使用过程中遇到表单验证问题,如何避免在验证过程中偶尔出现验证不通过的异常情况? <1>:给 <F ...

  9. Ubuntu安装截图软件shutter

    参考链接: Ubuntu 安装和配置shutter截图软件 解决shutter不能编辑的问题:https://itsfoss.com/shutter-edit-button-disabled/ 安装前 ...

  10. java递归方法查找某目录下包含有某字符串的文件

    最近在安装mysql5.6的时候,因为是免安装版的所以有些配置项需要手动配置.但是配置某一项的时候(例如:max_allowed_packet=xxxxx),不知道max_allowed_packet ...