我是靠谱客的博主 超帅抽屉,最近开发中收集的这篇文章主要介绍logstash-input-jdbc实现oracle 与elasticsearch实时同步详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:
logstash-input-jdbc实现mysql 与elasticsearch的解读之前博文已经解析。本次只是在原有的基础上,针对oracle特性部分做解读。
 
目标:
实现了oracle与ES同步增、删、改、查。
 

1、配置文件
[root@5b9dbaaa148a logstash_jdbc_test]# cat jdbc_oracle.conf
input {
  stdin {
  }
  jdbc {
  # oracle jdbc connection string to our backup databse
  jdbc_connection_string => "jdbc:oracle:thin:system/123456@//100.1.1.31:1521/xe"
  # the user we wish to excute our statement as
  jdbc_user => "system"
  jdbc_password => "123456"
  # the path to our downloaded jdbc driver
  jdbc_driver_library => "/elasticsearch-jdbc-2.3.2.0/lib/ojdbc6.jar"
  # the name of the driver class for oracle
  jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"

  #new add  begin 2016-6-28
  record_last_run => "true"
  use_column_value => "false"
  tracking_column => "id"
  last_run_metadata_path => "/etc/logstash/run_metadata.d/my_info"
  clean_run => "false"
  #new add by end

  jdbc_paging_enabled => "true"
  jdbc_page_size => "50000"
  statement_filepath => "/usr/local/logstash/bin/logstash_jdbc_test/jdbc_oracle.sql"
  schedule => "* * * * *"
  type => "tstype"
  }
}

filter {
  json {
  source => "message"
  remove_field => ["message"]
  }
  #grok {
  #match => { "message" => "%{COMBINEDAPACHELOG}" }
  #match => { "message" => "test" }
#}
  date {
  match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  elasticsearch {
  hosts => "10.8.5.101:9200"
  index => "tsuser"
  document_id => "%{user_id}"
  }
  stdout {
  codec => json_lines
  }
}

[root@5b9dbaaa148a logstash_jdbc_test]# cat jdbc_oracle.sql
select
  *
from
  TS_USER

2、其中:
(1) jdbc_connection_string配置
jdbc_connection_string => "jdbc:oracle:thin:system/123456@//100.1.1.31:1521/xe"
system/123456@// 100.1.1.31:1521 /xe 含义:
用户名/密码@//oracleIP地址:端口/标识符SID

(2) jdbc_driver_library 配置
jdbc_driver_library => "/elasticsearch-jdbc-2.3.2.0/lib/ojdbc6.jar"
ojdbc6.jar所在oracle机器的安装位置如下:
[root@W01 ~]# find / -name "ojdbc6.jar"
/u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
ojdbc6.jar 需要ES所在机器放置的位置:
[root@5b9dbaaaa lib]# find / -name "ojdbc6.jar"
/elasticsearch-jdbc-2.3.2.0/lib/ojdbc6.ja

(3) jdbc_driver_class配置
  jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"

同步执行脚本:
[root@5b9dbaa148a bin]# ./logstash -f ./logstash_jdbc_test/jdbc_oracle.conf

update,insert测试ok。
 
参考详解(原理同):
http://blog.csdn.net/laoyang360/article/details/51747266
 
NB参考:
http://o7planning.org/en/10227/jdbc-driver-libraries-for-different-types-of-database-in-java

——————————————————————————————————
**更多ES相关实战干货经验分享**,请扫描下方【铭毅天下】微信公众号二维码关注。
(每周至少更新一篇!)

和你一起,**死磕Elasticsearch** ——————————————————————————————————
 
 
作者:铭毅天下
转载请标明出处,原文地址: http://blog.csdn.net/laoyang360/article/details/51824617
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!
 

 


最后

以上就是超帅抽屉为你收集整理的logstash-input-jdbc实现oracle 与elasticsearch实时同步详解的全部内容,希望文章能够帮你解决logstash-input-jdbc实现oracle 与elasticsearch实时同步详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部