本文主要实现将Elasticsearch中的索引数据Index同步到Mongodb中的集合collection中。

0、前提

1)已经安装好源数据库:elasticsearch V2.X; 
2)已经安装好目的数据库:Mongodb; 
3)已经安装好logstash及相关插件logstash-output-mongodb

Google、Statckoverflow上充斥着mongdb到elasticsearch同步的文章和问题,而反过来,elasticsearch到mongodb同步的操作做的少之又少。 
这也说明了,好的架构设计应该是源数据存储在Mongodb,需要全文检索的时候再同步到ES中进行检索。

但是很显然logstash-out-mongodb插件的用途便是向mongodb写入数据,自然想到将input设置为ES的地址和索引信息即可。

1、同步conf配置详解

[root@la logstash_output_mongo]# cat mongo_out.conf
input {
stdin {
}
elasticsearch {
‘#ESIP地址与端口
hosts => "100.10.1.35:9200"
’#ES索引名称(自己定义的)
index => "weibo"
’#自增ID编号
’# document_id => "%{id}"
’#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
’#schedule => "* * * * *"
’#设定ES索引类型
type => "message"
}
} filter {
json {
source => "message"
remove_field => ["message"]
}
} '#目标mongodb地址信息
output {
stdout { codec => rubydebug }
mongodb {
’#目标mongodb集合
collection => "weibo"
’#目标库名称
database => "data"
uri => "mongodb://100.20.12.45:27017"
}
}

2、小结

以上实现了ES中的一个索引Index 与 Mongodb中的一个集合collection之间的全量同步操作。 
全量的实现:通过配置源input、目标output地址信息; 
增量的实现:待验证。 
同步的时候,无需在mongodb做任何操作,同步后,既可以在mongodb的windows客户端:Robomongo看到同步后新增的集合collection。

3、反过来ES到Mongo如何同步?

详见:mongo-connector实现MongoDB与elasticsearch实时同步深入详解

logstash-out-mongodb实现elasticsearch到Mongodb的数据同步的更多相关文章

  1. elasticsearch与mongodb分布式集群环境下数据同步

    1.ElasticSearch是什么 ElasticSearch 是一个基于Lucene构建的开源.分布式,RESTful搜索引擎.它的服务是为具有数据库和Web前端的应用程序提供附加的组件(即可搜索 ...

  2. Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步

    ElasticSearch有一个叫做river的插件式模块,可以将外部数据源中的数据导入elasticsearch并在上面建立索引.River在集群上是单例模式的,它被自动分配到一个节点上,当这个节点 ...

  3. MongoDB副本集配置系列十:MongoDB local库详解和数据同步原理

    1:local库是MongoDB的系统库,记录着时间戳和索引和复制集等信息 gechongrepl:PRIMARY> use local switched to db local gechong ...

  4. Elasticsearch多集群数据同步

    有时多个Elasticsearch集群避免不了要同步数据,网上查找了下数据同步工具还挺多,比较常用的有:elasticserach-dump.elasticsearch-exporter.logsta ...

  5. 使用 Logstash 和 JDBC 确保 Elasticsearch 与关系型数据库保持同步

    为了充分利用 Elasticsearch 提供的强大搜索功能,很多公司都会在既有关系型数据库的基础上再部署Elasticsearch.在这种情况下,很可能需要确保 Elasticsearch 与所关联 ...

  6. elasticsearch 不同集群数据同步

    采用快照方式 1.源集群采用NFS,注意权限 2.共享目录完成后,在所有ES服务器上挂载为同一目录 3.创建快照仓库 put _snapshot/my_backup{ "type" ...

  7. Cannot sending data from mongodb into elasticsearch using logstash

    Question: Hi all, i have an issue when i try to get data from mongodb to elasticsearch using logstas ...

  8. 用elasticsearch索引mongodb数据

    参照网页:单机搭建elasticsearch和mongodb的river 三个步骤: 一,搭建单机replicSet二,安装mongodb-river插件三,创建meta,验证使用 第一步,搭建单机m ...

  9. Elasticsearch和MongoDB分片及高可用对比

    本文旨在对比Elasticsearch和MongoDB高可用和分片的实现机制. Elasticsearch ES天生就是分布式的,那她又是如何做到天生分布式的? 通过ES官方指南我们可以知道: 一个运 ...

随机推荐

  1. Proxmox VE 添加软RAID

    apt-get update; apt-get install mdadm     安装软件 mdadm -C <设备名字> 创建模式 -l raid等级,0,1,5之类的 -n 使用的磁 ...

  2. Ubuntu下用devstack单节点部署Openstack

    一.实验环境 本实验是在Vmware Workstation下创建的单台Ubuntu服务器版系统中,利用devstack部署的Openstack Pike版. 宿主机:win10 1803  8G内存 ...

  3. linux 同步IO: sync、fsync与fdatasync

    [linux 同步IO: sync.fsync与fdatasync] 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行.当将数据写入文件时,内核通常先将该数据 ...

  4. Kafka管理工具介绍

    Kafka内部提供了许多管理脚本,这些脚本都放在$KAFKA_HOME/bin目录下,而这些类的实现都是放在源码的kafka/core/src/main/scala/kafka/tools/路径下. ...

  5. kafka常用运维命令

    列出所有topic:bin/kafka-topics.sh --zookeeper localhost:2181 --list说明:其实就是去检查zk上节点的/brokers/topics子节点,打印 ...

  6. How to Get Vertical Line from Point and Line

    Description How to get vertical line cross one point which out of line in line. QPoint Line::Vertica ...

  7. xshell上传下载文件(Windows、Linux)

    经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下:之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法 ...

  8. Linux enca命令

    一.简介 enca是Linux下的文件编码转换工具. 二.安装 http://dl.cihar.com/enca/   http://www.2cto.com/os/201404/295528.htm ...

  9. redis centos 上以 tar.gz 安装redis

    1.下载安装文件#wget http://download.redis.io/releases/redis-3.2.3.tar.gz 2.删除文件 rm -rf /usr/local/redisrm ...

  10. pcd转obj

    文件转换 从PCD文件写入和读取点云数据:https://www.cnblogs.com/li-yao7758258/p/6435568.html 点云数据格式PCD(Point Cloud Data ...