Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Logstash将mongo数据同步到elasticsearch_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Synchronization_Logstash - Fatal编程技术网 elasticsearch Logstash将mongo数据同步到elasticsearch,elasticsearch,synchronization,logstash,elasticsearch,Synchronization,Logstash" /> elasticsearch Logstash将mongo数据同步到elasticsearch,elasticsearch,synchronization,logstash,elasticsearch,Synchronization,Logstash" />

elasticsearch Logstash将mongo数据同步到elasticsearch

elasticsearch Logstash将mongo数据同步到elasticsearch,elasticsearch,synchronization,logstash,elasticsearch,Synchronization,Logstash,我是使用Logstash和Elasticsearch的新手。我想使用Logstash插件(Logstash input MongoDB)将我的MongoDB数据同步到Elasticsearch中。 在我的mongodata.conf中 input { uri => 'mongodb://127.0.0.1:27017/final?ssl=true' placeholder_db_dir => '/opt/logstash-mongodb/' placeholder_db_name =

我是使用Logstash和Elasticsearch的新手。我想使用Logstash插件(Logstash input MongoDB)将我的MongoDB数据同步到Elasticsearch中。 在我的mongodata.conf中

input {
uri => 'mongodb://127.0.0.1:27017/final?ssl=true'
placeholder_db_dir => '/opt/logstash-mongodb/'
placeholder_db_name => 'logstash_sqlite.db'
collection => 'twitter_stream'
batch_size => 5000
}
filter {

}
output {
stdout {
codec => rubydebug
}
elasticsearch {
action => "index"
index => "twitter_stream"
hosts => ["localhost:9200"]
}
}
当我运行bin/logstash-f/etc/logstash/conf.d/mongodata.conf--path.settings/etc/logstash/

错误显示如下

Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
[2020-02-28T08:48:20,246][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-02-28T08:48:20,331][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.6.0"}
[2020-02-28T08:48:20,883][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of [ \t\r\n], "#", "{" at line 2, column 13 (byte 21) after input {\n uri ", :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:47:in compile_imperative'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:55:in compile_graph'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:17:in block in compile_sources'", "org/jruby/RubyArray.java:2580:in map'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:14:in compile_sources'", "org/logstash/execution/AbstractPipelineExt.java:161:in initialize'", "org/logstash/execution/JavaBasePipelineExt.java:47:in initialize'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:27:in initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:36:in execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:326:in block in converge_state'"]}
[2020-02-28T08:48:21,114][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-02-28T08:48:25,969][INFO ][logstash.runner ] Logstash shut down.

请帮帮我,我对此一无所知。

您的配置错误,您需要指定您正在使用的
输入类型

尝试将您的输入更改为以下内容:

input {
  mongodb { 
     uri => 'mongodb://127.0.0.1:27017/final?ssl=true'
     placeholder_db_dir => '/opt/logstash-mongodb/'
     placeholder_db_name => 'logstash_sqlite.db'
     collection => 'twitter_stream'
     batch_size => 5000
  }
}

谢谢你回答我的问题。我必须像上面那样更改代码。这是工作,我发现了另一个错误。然而,我认为连接mongodb的URI是错误的。在哪里可以获得连接mongodb的正确URI?谢谢你