logstash6.5.4同步mysql数据到elasticsearch 6.4.1
Posted 胡椒面
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logstash6.5.4同步mysql数据到elasticsearch 6.4.1相关的知识,希望对你有一定的参考价值。
下载logstash-6.5.4 ZIP
解压和es 放到es根目录下
下载mysql jdbc的驱动 mysql-connector-java-8.0.12
创建配置文件 mysqltoes.conf 放在logstash-6.5.4in目录下
input {
stdin { }
jdbc {
#填写你的mysql链接串8以后驱动必须这样写,不然后出错,这个问题我搞了好几天才解决 {host}:3306/{database}
jdbc_connection_string => "jdbc:mysql://localhost:3306/springboot?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}"
}
}
然后切换到logstash-6.5.4in 目录下执行命令 logstash -f mysqltoes.conf
参考:https://blog.csdn.net/u012976879/article/details/85259911
以上是关于logstash6.5.4同步mysql数据到elasticsearch 6.4.1的主要内容,如果未能解决你的问题,请参考以下文章