使用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" 的任务,我们会在 Logstash 配置文件中设置相应的输入和输出插件。以下是一个基本的配置示例: ```ruby input { jdbc { # MySQL 连接配置 jdbc_connection_string => ...
logstash6.4.3 同步mysql数据到Elasticsearch6.4.3。具体使用方法请移步文章查看详情:https://blog.csdn.net/xiaocy66/article/details/83997248
本篇文章将详细介绍如何利用Logstash自动同步MySQL数据库中的数据到Elasticsearch。 **一、Elasticsearch简介** Elasticsearch是一个基于Lucene的搜索服务器。它提供了分布式、全文检索、实时的搜索和分析能力,...
总结来说,Elasticsearch 6.2.4 和 Logstash 6.2.4 结合使用,能有效解决从MySQL数据库实时同步数据到搜索引擎的需求,便于数据分析和快速检索。在实际操作中,可能还需要根据具体业务场景调整Logstash配置,如增加...
本文就logstash同步日志到ES做下详细解读。 1、目的: 将本地磁盘存储的日志文件同步(全量同步、实时增量同步)到ES中。 2、源文件: [root@5b9dbaaa148a test_log]# ll -rwxrwxrwx 1 root root 170 Jul 5 08:...
Logstash-jdbc-input插件是Logstash框架中的一个输入插件,主要用于从关系型数据库(如MySQL)中抽取数据并将其同步到Elasticsearch。在ELK(Elasticsearch、Logstash、Kibana)堆栈中,Logstash起到了数据处理和...
简易博客检索系统使用前后端分离,前端使用 Vue ,后端使用 SpringBoot 数据库 MySQL 检索使用 ElasticSearch 同步数据使用 logstash 基于Springboot + ElasticSearch +Vue+MySQL构建的博客检索系统 项目经过严格...
【标题】"001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮" 提供了几个关键的IT知识点,这些知识点主要围绕MySQL数据库与Elasticsearch(ES)的数据同步、数据一致性的保持以及ES的...
* 使用 Logstash 同步 MySQL 数据到 Elasticsearch。 * 使用 Kibana 等工具实现数据可视化和报表生成。 Elasticsearch 的未来发展 * Elasticsearch 将继续推动大数据搜索和分析领域的发展。 * Elasticsearch 将...
"mysql数据同步到elasticsearch 实时同步"这部分涉及到数据的实时迁移和同步。MySQL是一种广泛使用的开源关系型数据库,而Elasticsearch则是一个高性能、分布式、全文搜索引擎,常用于大数据分析和实时搜索场景。将...
在本示例中,Logstash被用来作为数据同步的中间件,负责从MySQL数据库中读取数据,并将数据推送到Elasticsearch中。 5. JDBC和Elasticsearch的logstash-input-jdbc插件 JDBC(Java Database Connectivity)是一个...
- 转换阶段可能涉及到数据格式的转换,例如将关系型数据结构转换为适合Elasticsearch的文档结构。 - 加载阶段则将转换后的数据插入到Elasticsearch集群中,确保数据的一致性和完整性。 4. **性能优化**: - 在...
从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 集成 logstash-input-jdbc 插件进行 ES(Elasticsearch)与 MySQL 数据同步时,你需要了解以下关键知识点: 1. **Logstash 结构**:Logstash 由输入(Input)、过滤(Filter)和输出(Output)三个...
通过Sharding-JDBC和MyBatis实现数据库分片,结合Logstash将MySQL数据同步到Elasticsearch,解决了分库分表后的联合查询难题,同时利用Elasticsearch的高性能搜索能力,实现了高效的数据筛选。这样的设计思路在大...
总的来说,Logstash 7.3.2版本是实现MySQL数据库数据到Elasticsearch同步的理想选择。它的易用性、灵活性和强大的功能使得数据处理和分析变得更加简单。同时,通过调整配置和选择适当的插件,你可以根据实际需求定制...
之前博客有用logstash-input-jdbc同步mysql数据到ElasticSearch,但是由于同步时间最少是一分钟一次,无法满足线上业务,所以只能自己实现一个,但是时间比较紧,所以简单实现一个思路:网上有很多思路用什么mysql的...
Logstash是一个数据收集和处理引擎,它可以将MySQL中的数据实时同步到Elasticsearch。为了实现这一功能,需要安装`logstash-input-jdbc`插件。由于这个插件依赖Ruby Gem,安装过程中可能会因为下载速度慢而耗时较长...
**场景描述**:本文档旨在指导如何将MySQL数据库中的数据以全量和增量的方式同步到ElasticSearch搜索引擎中。 **1. 下载内容** - **elasticsearch版本 6.3.2**:Elasticsearch是一个基于Lucene的搜索服务器,提供了...