您的位置:首页 > 数据库 > Oracle

logstash-input-jdbc实现oracle 与elasticsearch实时同步详解

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


1、配置文件[root@5b9dbaaa148a logstash_jdbc_test]# cat jdbc_oracle.confinput {  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.sqlselect  *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.jarojdbc6.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
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: