logstash同步msyql到es(4)

logstash mysql 同步到 elasticsearch

 =================单个配置文件==========================

Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地

1.上传logstash-6.4.3.tar.gz到服务中

2.tar –zxvf  logstash-6.4.3.tar.gz

3.cd logstash-6.4.3

4. bin/logstash-plugin install logstash-input-jdbc

5. bin/logstash-plugin install logstash-output-elasticsearch

相关配置文件说明

jdbc_driver_library: jdbc mysql 驱动的路径,在上一步中已经下载

jdbc_driver_class: 驱动类的名字,mysql 填 com.mysql.jdbc.Driver 就好了

jdbc_connection_string: mysql 地址

jdbc_user: mysql 用户

jdbc_password: mysql 密码

schedule: 执行 sql 时机,类似 crontab 的调度

statement: 要执行的 sql,以 “:” 开头是定义的变量,可以通过 parameters 来设置变量,这里的 sql_last_value 是内置的变量,表示上一次 sql 执行中 update_time 的值,这里 update_time 条件是 >= 因为时间有可能相等,没有等号可能会漏掉一些增量

use_column_value: 使用递增列的值

tracking_column_type: 递增字段的类型,numeric 表示数值类型, timestamp 表示时间戳类型

tracking_column: 递增字段的名称,这里使用 update_time 这一列,这列的类型是 timestamp

last_run_metadata_path: 同步点文件,这个文件记录了上次的同步点,重启时会读取这个文件,这个文件可以手动修改

相关配置参考附件 

Crontab crontab执行时间计算 - 在线工具  注意:Crontab表达式以分为单位

上传mysql jar /usr/local/sql/ mysql-connector-java-5.1.46.jar

 启动单个配置文件:./bin/logstash -f mysql.conf

========================多个配置文件=================================

多文件方式同步ES数据

上传目录:

 一个 logstash 实例可以借助 pipelines 机制同步多个表,只需要写多个配置文件就可以了,假设我们有两个表 table1 和 table2,对应两个配置文件 sync_table1.cfg 和 sync_table2.cfg

在 config/pipelines.yml 中配置

- pipeline.id: table1

  path.config: "config/sync_table1.cfg"

- pipeline.id: table2

  path.config: "config/sync_table2.cfg"

启动:./bin/logstash,

后台启动:nohup ./bin/logstash &

查看logstash日志:tail -f logstash-plain.log,或 tail -f nohup.out    如下图表示成功:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值