簡體   English   中英

在logstash .conf文件中執行JDBC查詢時出現異常

[英]exception when executing JDBC query in logstash .conf file

MySQL 5.6.35 RHEL 7 Logstash版本6.2.4 MySQL驅動程序:mysql-connector-java-8.0.11.jar

運行logstash腳本時出現以下錯誤

[2018-06-18T14:39:49,395][WARN ][logstash.inputs.jdbc     ] Exception when executing JDBC query {:exception=>#<Sequel::DatabaseError: Java::JavaLang::IllegalArgumentException: MONTH>}
[2018-06-18T14:39:49,667][INFO ][logstash.pipeline        ] Pipeline has terminated {:pipeline_id=>"main", :thread=>"#<Thread:0x2937cfc6@/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:247 run>"}

它始終位於同一組記錄中,因此我確定這是一個數據問題。

該錯誤提到IllegalArgumentException: MONTH>的事實使我認為這是一個日期問題,但是我看不到數據中的任何明顯問題,並且該錯誤消息不能為我提供足夠的信息以進一步解決錯誤。 我所有的空日期都為空,而不是“ 0000-00-00”

有誰知道是否還有其他日志可以幫助我確定錯誤。

這是我的conf.d文件夾中的腳本。

input {
  jdbc {
    jdbc_connection_string => "jdbc:mysql://localhost:3306/hawk_aol"
#useCursorFetch=true&
    # The user we wish to execute our statement as
    jdbc_user => "root"
    jdbc_password => ""
    # The path to our downloaded jdbc driver
    jdbc_driver_library => "/apps/elasticsearch/drivers/mysql-connector-java-8.0.11.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    # our query
    statement => "SELECT * FROM weekly_data"
    #jdbc_fetch_size => "5000"
    jdbc_paging_enabled => true
    jdbc_page_size => 100000

    }
  }
output {
  stdout { codec => json_lines }
  elasticsearch {
  "hosts" => "localhost:9200"
  "index" => "aol"
  "document_type" => "weekly_data"
  "document_id" => "%{id}"
  }
}

我解決了自己的問題。 我以為該問題與日期有關,我一直在數據庫中搜索一個值為0000-00-00的日期並將其轉換為null,但是一旦我有一個日期值為2016-00-00的日期,將其清除為null,一切按預期開始運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM