mysql - logstash:弹性搜索的未知设置“索引”
问题描述
我是弹性搜索概念的新手,可以与 mySQL 建立联系。我按照多个教程进行安装,但出现以下错误:Unknown setting '"index"'and '"host'" for elasticsearch
的输出
sudo -Hu root /usr/share/logstash/bin/logstash --path.settings /etc/logstash/
返回:
> Sending Logstash logs to /usr/share/logstash/logs which is now configured via log4j2.properties
> [2019-04-20T17:48:47,293][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.0.0"}
> [2019-04-20T17:48:53,873][ERROR][logstash.outputs.elasticsearch] Unknown setting '"document_type"' for elasticsearch
> [2019-04-20T17:48:53,878][ERROR][logstash.outputs.elasticsearch] Unknown setting '"hosts"' for elasticsearch > [2019-04-20T17:48:53,878][ERROR][logstash.outputs.elasticsearch] Unknown setting '"index"' for elasticsearch
> [2019-04-20T17:48:53,891][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Something is wrong with your configuration.", :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/config/mixin.rb:86:inconfig_init'", "/usr/share/logstash/logstash-core/lib/logstash/outputs/base.rb:60:in initialize'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:232:ininitialize'", "org/logstash/config/ir/compiler/OutputDelegatorExt.java:48:in initialize'", "org/logstash/config/ir/compiler/OutputDelegatorExt.java:30:ininitialize'", "org/logstash/plugins/PluginFactoryExt.java:239:in plugin'", "org/logstash/plugins/PluginFactoryExt.java:137:inbuildOutput'", "org/logstash/execution/JavaBasePipelineExt.java:50:in initialize'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:23:ininitialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:36:in execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:325:inblock in converge_state'"]}
> [2019-04-20T17:48:54,190][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
> [2019-04-20T17:48:59,066][INFO ][logstash.runner ] Logstash shut down.
这是 logstash.conf 文件的内容:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/archief"
# The user we wish to execute our statement as
jdbc_user => "root"
jdbc_password => "pswxxx"
# The path to our downloaded jdbc driver
jdbc_driver_library => "/usr/share/java/mysql-connector-java-8.0.15.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
# our query
statement => "SELECT * FROM archief"
}
}
output {
stdout { codec => json_lines }
elasticsearch {
"hosts" => ["localhost:9200"]
"index" => "archief"
}
}
解决方案
我遇到了同样的问题,并通过将我的 logstash 版本从 7.4.2 更改为 6.3.2 来解决它。
推荐阅读
- python - 腌制一个包含 __cinit__ 的 cython 类:__setstate__ vs __reduce__?
- vue.js - Nuxt.js - 我可以同时使用通用渲染模式和静态/JAMStack 托管吗
- java - 使用 Java 可选简化 if、else-if、else
- r - R从嵌套列表中删除命名列表()死角
- heroku - Sprockets::Rails::Helper::AssetNotPrecompiled: application.css
- node.js - 为什么按名称查找我的角色返回未定义?
- javascript - 使用 ReactJS 和静态 App.css 进行 CSS 填充
- kubectl - kubectl:描述持久卷声明的注释
- r - 使用 gganimate 的箭头指向错误的方向
- java - mapstruct - 在复杂对象上下文中可迭代到不可迭代