使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索

安装logstash、同步数据至ElasticSearch

为什么使用logstash来同步,CSDN上有一篇文章简要的分析了以下几种同步工具的优缺点:https://blog.csdn.net/laoyang360/article/details/51694519。

下面开始实践:

  1. 下载Logstash 安装包,需要注意版本与elasticsearch保持一致,windows系统下直接解压即可。

  2.添加同步mysql数据库的配置,并将mysql连接驱动jar包放在指定的配置目录

    注: 目前版本的logstash已经集成了logstash-jdbc-input,不需要再配置这个插件,

       配置文件需要UTF-8编码,我在配置过程中开始新建文件默认的是GBK编码,后面启动logstash后读取配置文件报编码错误了。

我的配置目录:

使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索

配置文件mysql.conf

1 input { 2 stdin { 3 } 4 jdbc { 5 # mysql数据库连接 6 jdbc_connection_string => "jdbc:mysql://localhost/blog?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC" 7 # mysqly用户名和密码 8 jdbc_user => "root" 9 jdbc_password => "123456" 10 # 驱动配置 11 jdbc_driver_library => "C:/logstash-6.4.0/mysqletc/mysql-connector-java-6.0.5.jar" 12 # 驱动类名 13 jdbc_driver_class => "com.mysql.cj.jdbc.Driver" 14 jdbc_paging_enabled => "true" 15 jdbc_page_size => "50000" 16 # 执行指定的sql文件 17 statement_filepath => "C:/logstash-6.4.0/mysqletc/blog.sql" 18 # 设置监听 各字段含义 分 时 天 月 年 ,默认全部为*代表含义:每分钟都更新 19 schedule => "* * * * *" 20 # 索引类型 21 type => "blog" 22 } 23 } 24 25 filter { 26 json { 27 source => "message" 28 remove_field => ["message"] 29 } 30 } 31 32 output { 33 34 elasticsearch { 35 #es服务器 36 hosts => ["localhost:9200"] 37 #ES索引名称 38 index => "sl_blog" 39 #自增ID 40 document_id => "%{id}" 41 } 42 43 44 stdout { 45 codec => json_lines 46 } 47 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspdwd.html