首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步MongoDB与ElasticSearch

同步MongoDB与ElasticSearch
EN

Stack Overflow用户
提问于 2019-06-17 09:41:34
回答 1查看 10K关注 0票数 12

我想将我的MongoDB数据同步到ElasticSearch,我读了很多关于elasticsearch插件和mongo连接器的文章,但是所有这些都不推荐用于mongo 4和elasticsearch 7!

由于logstash是一种专有软件,我想用它来同步.有人知道怎么能做到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-17 12:17:27

您可以将MongoDB和Elasticsearch与Logstash同步;同步实际上是Logstash的主要应用程序之一。在安装Logstash之后,您所需要做的就是为您的用例指定一个管道:一个或多个输入源(在您的例子中是MongoDB)和一个或多个输出接收器(在您的示例中是Elasticsearch),在Logstash的管道目录中作为一个配置文件(示例如下);Logstash负责其余部分。

Logstash正式为许多常用的数据源和接收器提供插件;这些插件只需配置几个,就可以从不同的数据源读取数据并将数据写入不同的数据源。您只需要找到正确的 插件安装它,并为您的场景配置它。Logstash为弹性搜索提供了一个官方的输出插件,其配置非常直观。然而,Logstash并不为MongoDB提供任何输入插件。您需要找到第三方;这一个似乎很有希望。

最后,您的管道可能如下所示:

代码语言:javascript
复制
input {
  mongodb {
    uri => 'mongodb://10.0.0.30/my-logs?ssl=true'
    placeholder_db_dir => '/opt/logstash-mongodb/'
    placeholder_db_name => 'logstash_sqlite.db'
    collection => 'events_'
    batch_size => 5000
  }
}
output {
  stdout {
    codec => rubydebug #outputs the same thing as elasticsearch in stdout to facilitate debugging
  }
  elasticsearch {
    hosts => "localhost:9200"
    index => "target_index"
    document_type => "document_type"
    document_id => "%{id}"
  }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56628675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档