将Logstash与MySQL和Elasticsearch结合使用,无法发送数据

Pumpmancarl

我正在尝试使用Logstash将数据从MySQL服务器发送到ES。我正在使用ES 6.3.0和Logstash 6.3.0。我的配置文件如下所示:

input {
    jdbc {
        jdbc_driver_library => "/Users/.../mysql-connector-java-5.1.46-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://..."
        jdbc_user => "user"
        jdbc_password => "****"
        statement => "SELECT * FROM user.customer"
    }
}
output {
    #stdout { codec => json_lines }
    elasticsearch {
        hosts => "localhost"
        index => "customers"
    }
}

我正在使用一个数据库的MySQL数据库,该表具有不同数据类型的几列。当我尝试向ES发送数据时,出现以下错误消息:

[2018-07-03T14:39:06,088][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"customers", :_type=>"doc", :_routing=>nil}, #<LogStash::Event:0x2ff3608c>], :response=>{"index"=>{"_index"=>"customers", "_type"=>"doc", "_id"=>"p-MnYGQBzIWWUpovTpES", "status"=>400, "error"=>{"type"=>"illegal_argument_exception", "reason"=>"mapper [uc_score] cannot be changed from type [long] to [float]"}}}}

经过一些研究,我发现您不能再在ES中使用不同的类型,但是我不确定它们的确切含义。我该怎么办才能解决这个问题?从MySQL数据库向ES发送数据的聪明方法是什么?我打算使用ES来分析和可视化数据库中的数据。

亚历山大·博尔沙科夫(Alexander Bolshakov)

这是由于使用JDBC驱动程序转换类型的能力有限。

字段uc_score具有MySQL类型longthas不会由JDBC自动转换为elasticsearch类型float因此,您应该将此片段添加到“ logstash管道”filter部分的“转换uc_score字段”部分中

filter {
    mutate { convert => {"uc_score" => "float"} }
}

不要忘记重启您的logstash实例!

来源:将数据从MySQL导入Elasticsearch以使用Kibana对其进行可视化

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Logstash和jdbc_streaming过滤器将数据从HTTP输入发送到ElasticSearch?

如何使用logstash将Mysql数据迁移到elasticsearch

使用filebeat,logstash和elasticsearch将json格式的日志发送到kibana?

在使用 logstash 将数据从 MySQL 推送到 Elasticsearch 的同时摄取节点 Elasticsearch

结合使用WordPress用户凭证和php脚本将数据发送到iOS应用

使用AJAX和PHP将数据发送到mysql

Logstash无法将完整的数据从oracle加载到Elasticsearch

将MySQL IN()与PHP和PDO结合使用

使用Logstash将数据从Elasticsearch导出到CSV

通过使用scala的logstash将数据批量插入elasticsearch

使用Logstash将数据流式传输到Amazon Elasticsearch?

使用 logstash 将数据集导入 ElasticSearch 很慢

Filebeat>是否可以通过不带Logstash的Filebeat将数据发送到Elasticsearch

将 JsZipUtils 与 NPM 和 React 结合使用 - 无法导入文件

无法将tidyselect`everything()`与`group_by()`和`fill()`结合使用

Logstash:无法将事件索引到Elasticsearch

当结合BSP库和std :: vector时,我无法在内核之间发送数据

如何使用logstash将队列的内容发送到elasticsearch索引

将URL参数与mySQL和JSP结合使用

无法通过Logstash将数据从MS Sql Server传输到ElasticSearch

无法在Linux上使用ElasticSearch映射Logstash

如果logstash将数据发送到elasticsearch的速度快于其索引速度,那会发生什么?

结合使用PreBuiltTransportClient和elasticsearch 5

将ReactiveSearch与普通Elasticsearch结合使用

无法使用Logstash将消息发送到Graylog服务器

为什么我无法使用 PHP 和 MySQL 将数据提交到数据库?

使用Logstash使用单个Elasticsearch Index同步来自两个mysql表的数据

将文件拍日志发送到Logstash以使用Docker元数据建立索引

elasticsearch使用logstash和csv删除文档