Logstash - Linux 实现MySQL与ES数据同步
目录
环境准备
-
Elasticsearch 7.4.2
- MySQL 8.0.15
- logstash-7.4.2.tar.gz
- mysql-connector-java-8.0.15.jar
搭建Logstash
- 版本与Elasticsearch必须保持一致7.4.2,在ES官网下载
Logstash下载
配置Logstash
同步脚本配置
- 进入/usr/local/目录,将安装文件解压到这里
- /usr/local/
- tar -zxvf /home/chenyb/software/logstash-7.4.2.tar.gz
- 进入logstash,创建自定义文件夹
- cd logstash-7.4.2/
- mkdir sync
- 进入sync文件夹,创建数据同步配置文件
- cd sync/
- vi logstash-db-sync.conf
- input:元数据输入
- jdbc:连接
- jdbc_connection_string:# 设置 MySql/MariaDB 数据库url以及数据库名称
- jdbc_user:数据库连接用户名
- jdbc_password:数据库连接密码
- jdbc_driver_library:数据库驱动所在位置,可以是绝对路径或者相对路径
- 驱动包一定要放在./logstash-7.4.2/logstash-core/lib/jars文件夹下,否则插件无法加在
- jdbc_driver_class:驱动类名
- jdbc_paging_enabled:开启分页
- jdbc_page_size:分页每页数量,可以自定义,建议不要太大,影响性能,根据计算机硬件1000-5000之间为好
- statement_filepath:执行的sql文件路径
- schedule:设置定时任务间隔,时间表达式
- type:索引类型,区分input与output对应关系
- use_column_value:是否开启记录上次追踪的结果,也就是上次更新的时间,这个会记录到 last_run_metadata_path 的文件
- last_run_metadata_path:记录上一次追踪的结果值
- tracking_column:如果 use_column_value 为true, 配置本参数,追踪的 column 名,可以是自增id或者时间,tracking_column 对应数据库的类型与名称,监听该数据变化而同步
- tracking_column_type:es中的属性类型
- clean_run:是否清除 last_run_metadata_path 的记录,true则每次都从
- jdbc:连接
- input:元数据输入