解决ElasticSearch与Mysql的数据同步问题——Logstash

首先,什么是Logstash?

Logstash是一款轻量级的日志搜集处理框架,可以把分散的,多样化的日志搜集起来,并且自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。

如果我们令mysql与ES连接上,那么我们可以借助一个脚本连接器,去将它实现,而logstash也就实现了这一点,其原理,是从mysql中抽出数据,然后转换成es的表结构去add,基本原理就是这个意思,下面来说一下操作步骤和指令。

input{
  jdbc{
    jdbc_connection_string => "jdbc:mysql://localhost:3306/tensquare_base?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT"
    jdbc_user => "root"
    jdbc_password => ""
    jdbc_driver_library => "D:\\logstash-5.6.8\\mysqletc\\mysql-connector-java-5.1.46.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50"
    statement => "select id, title,content,state from tb_article"
    schedule => "* * * * *"
  }
}
output{
  elasticsearch {
    hosts => "127.0.0.1:9200"
    index => "tensquare_article"
    document_id => "%{id}"
    document_type => "article"
  }
  stdout{
    codec => json_lines
  }
}
  • 第四步,开启ES服务之后启动logstash

在这里插入图片描述

在这里插入图片描述

然后我们就可以看见,sql中的数据被添加到了es的index中

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值