使用logstash同步mysql数据到ES
Windows环境:
1、下载logstash
地址: https://www.elastic.co/cn/downloads/logstash
2、下载: mysql-connector-java.jar
在logstash目录下创建一个mysql目录,把驱动文件放进去。
3、修改配置文件
在安装目录下,创建新的配置文件,命名为:logstash.conf
input { jdbc { jdbc_connection_string => "jdbc:mysql://localhost:3306/news?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC" jdbc_user => "root" jdbc_password => "root" jdbc_driver_library => "F:\elasticsearch-6.4.2_cluster\logstash-6.4.2\bin\mysql\mysql-connector-java-5.1.18.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" statement => "SELECT * FROM news_article WHERE update_time >= :sql_last_value" schedule => "*/5 * * * * *" use_column_value => true tracking_column_type => "timestamp" tracking_column => "update_time" type => "news_article" } jdbc { jdbc_connection_string => "jdbc:mysql://localhost:3306/news?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC" jdbc_user => "root" jdbc_password => "root" jdbc_driver_library => "F:\elasticsearch-6.4.2_cluster\logstash-6.4.2\bin\mysql\mysql-connector-java-5.1.18.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" statement => "SELECT * FROM users WHERE update_time >= :sql_last_value" schedule => "*/5 * * * * *" use_column_value => true tracking_column_type => "timestamp" tracking_column => "update_time" type => "users" } } output { if [type]=="news_article" { elasticsearch { hosts => ["http://localhost:9200"] index => "news_article_inx" document_id => "%{id}" } } if [type]=="users" { elasticsearch { hosts => ["http://localhost:9200"] index => "users_inx" document_id => "%{id}" } } }
在命令行执行
logstash -f ../config/logstash.conf
执行成功后,就会有表USERS和news_article数据进去es中
"LogStash::ConfigurationError", :message=>"Expected one of #, input, filter, output at line 1错误解决方案
网上查了很多解决办法,结果还是没用,提示应该是配置文件中的内容有错误,但是我重新检查了几遍也没发现有错误,也没有括号缺少这些情况,然后就试着把配置文件的格式修改保存为utf-8的格式,结果可用了,终于从坑里跳出来
用Notepad++软件右保存为utf-8 无BOM编码
原因有两种:
1、配置文件格式不是utf-8;
2、缩进不规范
这些必须是严格意义上的tab
相关推荐
logstash同步mysql到elasticsearch,其中包括同步的配置文件和mysql驱动
logstash6.4.3 同步mysql数据到Elasticsearch6.4.3。具体使用方法请移步文章查看详情:https://blog.csdn.net/xiaocy66/article/details/83997248
ElasticSearch + Logstash 自动同步mysql数据
本文就logstash同步日志到ES做下详细解读。 1、目的: 将本地磁盘存储的日志文件同步(全量同步、实时增量同步)到ES中。 2、源文件: [root@5b9dbaaa148a test_log]# ll -rwxrwxrwx 1 root root 170 Jul 5 08:...
elasticsearch and logstash版本6.2.4环境集成工具,可以在windows、linux环境集成,在博客空间给实例出来,同步mysql数据搭建工具
logstash + elasticsearch + kibana, 资源为mysql数据库增量同步到es的配置
简易博客检索系统使用前后端分离,前端使用 Vue ,后端使用 SpringBoot 数据库 MySQL 检索使用 ElasticSearch 同步数据使用 logstash 基于Springboot + ElasticSearch +Vue+MySQL构建的博客检索系统 项目经过严格...
从mysql同步数据到elasticsearch示范:input { jdbc { type => "hot_words" jdbc_driver_library => "D:/ELK/logstash/bin/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar" jdbc_driver_class =>...
之前博客有用logstash-input-jdbc同步mysql数据到ElasticSearch,但是由于同步时间最少是一分钟一次,无法满足线上业务,所以只能自己实现一个,但是时间比较紧,所以简单实现一个思路:网上有很多思路用什么mysql的...
基于springboot-es的博客检索系统 结合实际需求分析,打造个人博客检索系统。...3、Mysql数据同步到ES(logstash, mysql binlog, 第三方Go框架) 4、Springboot 整合操作ES 5、ElasticSearch 安装中文分词器
logstash-7.3.2,mysql数据库数据同步到elasticsearch中,配置简单,好用
elasticsearch从安装,开发到数据同步(logstash 工具同步mysql数据)
Logstash: logstash-6.3.2(同步mysql数据库数据)下载地址:https://www.elastic.co/cn/downloads/logstash ik分词器:elasticsearch-analysis-ik-6.3.2(智能分词搜索)下载地址:...
之前在弄elasticsearch同步mysql 需要下载这些文件,当时费了半天劲才下完,要么网速慢 要么版本不配套。。各种问题。。跑通以后上传上来希望对你有用 这个是elasticsearch-6.3.0和elasticsearch-analysis-ik-6.3.0...
该包适用于配置ES与MySQL进行同步,此包已经继承logstash-input-jdbc插件
之前在弄elasticsearch同步mysql 需要下载这些文件,当时费了半天劲才下完,要么网速慢 要么版本不配套。。各种问题。。跑通以后上传上来希望对你有用,因上传大小限制 分为两个包,这个是logstash6.3.0和logstash-...
3,使用LogStash同步mysql数据 环境安装 创建需用同步数据的表示例: ( user_id BIGINT AUTO_INCREMENT COMMENT '主键' PRIMARY KEY, user_name VARCHAR(30) DEFAULT '' NOT NULL COMMENT '用户名', sex INT...
应对sharding-jdbc结合mybatis实现分库分表功能 分表的联合查询采用将mysql的数据同步到elasticsearch进行筛选
Logstash是一款轻量级的日志搜集处理框架,负责数据采集,过滤,汇集功能。 定时实现ElasticSearch与 MySQL数据同步。