使用logstash将数据从mysql移动到elastic

ipakzgxi  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(222)

我正在尝试使用logstash将mysql数据表移动到elastic,该表包含大约100万条记录,有2列数据类型为date,它们的值如下 2002-09-17 , 2014-07-21 , 2004-11-02 logstash.config文件在这里

input {
  jdbc { 
    jdbc_connection_string => "jdbc:mysql://***/MyDB?zeroDateTimeBehavior=convertToNull"
    jdbc_user => "myuser"
    jdbc_password => "mypass"
    jdbc_driver_library => "C:\Program Files (x86)\MySQL\Connector J 5.1\mysql-connector-java-5.1.49.jar"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    statement => "select * from mydata"
    }
  }
output {
 elasticsearch {
  "hosts" => "http://localhost:9200"
  "index" => "properties"
  "document_type" => "data"
  "document_id" => "%{mydataId}"
  }
  stdout { codec => json_lines }
}

当我运行这个文件时,logstash启动,它将加载记录保持在弹性状态,但它在某些记录处停止,并显示此异常

Exception when executing JDBC query 
{:exception=>"Java::OrgJodaTime::IllegalInstantException: 
Illegal instant due to time zone offset transition (daylight savings time 'gap'): 
2001-04-27T00:00:00.000 (Africa/Cairo)"}

我试图谷歌它,但我无法达到的解决方案,我不知道为什么它显示这个错误,我不需要时间,我只需要日期
我应该在logstash config中添加什么来解决这个问题吗?如果我需要跳过所有显示错误的行,有没有办法继续并跳过错误或将其记录到某个位置而不是停止推送过程?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题