为什么我用logstash插件同步oracle数据到es中,最终只有一条数据,明明数据库有上千条数据

Mak1214 2019-11-20 01:38:05
前提,我的es与logstash都是6.x

input {
stdin{

}
jdbc{
#jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521/orcl" # jdbc数据库连接
jdbc_user => "mk" #数据库用户名
jdbc_password => "111" #数据库密码
jdbc_driver_library => "D:\soft-mk\ES\logstash-6.6.0\bin\oracle-jdbc\ojdbc14.jar" # oracle jar包文件路径
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" # jdbc数据库驱动
#处理中文乱码问题
codec => plain { charset => "UTF-8"}
#record_last_run => "true"
#use_column_value => "false"
#tracking_column => "book_Id"
#last_run_metadata_path => "D:\soft-mk\ES\logstash-6.6.0\bin\oracle-jdbc\my_info"
#clean_run => "false" #是否清除 last_run_metadata_path 的记录,如果为真那么每次都相当于从头开始查询所有的数据库记录
#jdbc_paging_enabled => "true"
#jdbc_page_size => "5000" # 同步数据分页设置
#statement_filepath => "D:\soft-mk\ES\logstash-6.6.0\bin\oracle-jdbc\jdbc.sql" # 需同步的数据执行的SQL文件路径
statement => "select * from BOOK" # where book_Id > :sql_last_value"也可以直接将sql配置在这里
schedule => "* * * * *" # 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
type=>"book"
}
}

output{
elasticsearch{
hosts => "127.0.0.1:9200" # ES连接
index => "ebook-search" # ES索引名称
document_id => "%{book_Id}" # id对应ORACLE中主键字段
document_type => "book"
}
}


上面是logstash的配置,有知道怎么回事的麻烦解答下,谢谢了
...全文
927 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
醉初 ㅤ 2020-07-13
  • 打赏
  • 举报
回复
解决了谢谢,困扰我一下午
Mak1214 2019-11-20
  • 打赏
  • 举报
回复 4
原因以查明。。。导致只有一条数据的原因是因为 document_id=> "%{book_Id}"导致的,去掉或者,设置id自增都可以解决这个问题

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧