Logstash导入数据到ElasticSearch

本文介绍如何在Windows环境下使用Logstash的JDBC插件实现Oracle数据库的增量同步,包括配置步骤、SQL语句编写及注意事项。

一:在Windows环境

  1 下载解压Logstash的压缩包

  2 在Logstash的压缩包中安装Logstash-jdbc-input插件:

    在Bin命令行下运行命令: .\logstash-plugin install logstash-jdbc-input 

    及可以安装成功,(该插件主要是用来进行增量同步时记录跟踪数值的最大值或者时间的最新时间)

      2 将oracle的驱动放入Logstash的解压包中

      3 在Logstash的包中创建jdbc.conf

            3.1 Logstash的jdbc.conf基本结构:

input {
    stdin { }
         jdbc {
            jdbc_driver_library => "E:\es\logstash-6.2.4\ojdbc14-10.2.0.4.0.jar"
            jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
            jdbc_connection_string => "jdbc:oracle:thin:@//60.205.228.254:1521/orcl"
            jdbc_user => "DJP"
            jdbc_password=> "123456"
            schedule => "* * * * *"
            statement_filepath => "E:\es\logstash-6.2.4\sql\demon.sql"
            #是否记录上次Logstash的运行的时间
            last_run_metadata_path => "E:\es\logstash-6.2.4\status\last_time.txt"
            #是否强制导入的字母的大小写默认为true 强制为小写
            # lowercase_column_names => false
            #是否保存上次运行的状态,不保存在last_run_metadata_path中
            #record_last_run =>
            # 是否跟踪某个字段的值
            use_column_value => true
            tracking_column => id
            #设置跟踪字段的类型  number和Timetape类型
            #tracking_column_type =>“”
            
            }
}
output {
  elasticsearch {
    index => "addIndex02"
    hosts => ["193.112.52.129:9200"]
    }
  stdout { codec => rubydebug }
}

      4 整理sql语句在一个文件下

SELECT
    ID,
    TRAIN_SYSTEM,
    CAR_BRAND,
    CAR_NAME
FROM
    TB_CAR_MODEL
WHERE ID > :sql_last_value ORDER BY ID

在进行增量同步的时候一定要添加 ORDER BY ID 以确保保存最大的ID

      5 启动sql语句进行导入数据

    

转载于:https://www.cnblogs.com/zhaikaixuan/p/8883857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值