使用logstash 同步数据库到es

博客介绍了Logstash的安装与配置过程,包括上传安装包、解压、安装插件、编写配置文件等步骤,还提到上传所需jar包并启动。此外,说明了利用pipelines机制,通过写多个配置文件,使用一个Logstash实例同步多个表到ES数据的方法。

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

 

新写一个mysql.conf 放到 logstash-6.4.3 这个里头

input {
  jdbc {
    jdbc_driver_library => "/Users/liyaochu/important/mysql-connector-java-5.1.46.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=UTF-8"
    jdbc_user => "root"
    jdbc_password => "root"
    schedule => "* * * * *"
    statement => "SELECT * FROM user WHERE update_time >= :sql_last_value"
    use_column_value => true
    tracking_column_type => "timestamp"
    tracking_column => "update_time"
    last_run_metadata_path => "syncpoint_table"
    type => "jdbc"
  }
}


output {
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["localhost:9200"]
        # 索引名称 可自定义
        index => "user"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{id}"
        document_type => "user"
    }
    stdout {
        # JSON格式输出
        codec => json_lines
    }
}

最后

上传/Users/liyaochu/important/mysql-connector-java-5.1.46.jar" 需要这个jia包

 

./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/mysql.conf"

- pipeline.id: table2

  path.config: "config/mysql.2conf"

 

./bin/logstash

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值