win10使用logstash-input-jdbc同步数据到es

logstash-input-jdbc是logstash的一个插件,logstash和ElasticSearch还有kibana简称ELK,logtash作为数据的收集以及过滤的一环,其可以作为数据同步的一个中间件。
首先是下载,这里在5.x的版本后,logstash-input-jdbc已经被集合在了lofstash中,再下载了lofstash之后,便可使用。这里给出lofstash的下载地址,找到自己需要的版本。我是用的是7.7.1.logstash下载地址
下载解压到本地。
1.在bin的同级目录中创建存放mysql驱动jar的文件夹mysql
2.拷贝mysql驱动jar包到3中的mysql文件夹中
3.在bin下创建配置文件logstash.conf
4.启动,在bin文件夹下,执行:logstash -f logstash.conf

logstash.conf详情

input {
  # 多张表的同步只需要设置多个jdbc的模块就行了
  jdbc {
      # mysql 数据库链接,shop为数据库名
      jdbc_connection_string => "jdbc:mysql://localhost:3306/glzc_npic_oe?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"
      # 驱动
      jdbc_driver_library => "D:\softWare\ElasticSearch\Logstash\logstash-7.7.1\bin\mysql\mysql-connector-java-5.1.47.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_validate_connection => "true"

      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "1000"
      #时区
      jdbc_default_timezone => "Asia/Shanghai"

      #直接执行sql语句
      statement => "SELECT	id,CA_DESC _desc,CA_NO title,CREATE_TIME created_time,CA_SL createDept,DELETE_FLAG delete_flag, 'systemName' '.oe','tableName' '.ca_list_cnnp' FROM `ca_list_cnnp` where id >=:sql_last_value order by id asc"
      # 执行的sql 文件路径+名称
      # statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"

      #设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
      #每隔10分钟执行一次
      #schedule => "*/10 * * * *"
      #是否记录上次执行结果, 如果为真,将会把上次执行到的 tracking_column 字段的值记录下来,保存到last_run_metadata_path
      record_last_run => true
      #记录最新的同步的offset信息
      last_run_metadata_path => "D:\softWare\ElasticSearch\Logstash\logstash-7.7.1\data\lsdt_id.txt"
      use_column_value => true
      #递增字段的类型,numeric 表示数值类型, timestamp 表示时间戳类型
      tracking_column_type => "numeric"
      tracking_column => "id"
      
      clean_run => false

      # 索引类型
      #type => "jdbc"
    }
}



output {
  elasticsearch {
        #es的ip和端口
        hosts => ["http://localhost:9200"]
        #ES索引名称(自己定义的)
        index => "oe"
        #文档类型
        document_type => "_doc"
        #设置数据的id为数据库中的字段
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值