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

本文详细介绍了如何使用mongo-connector工具实现MongoDB和Elasticsearch之间的实时数据同步,包括增删改操作的验证。文章涵盖了从安装到配置的全过程,并提到了一些常见问题和解决方案。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

引言:

验证表明:mongo-connector工具支持MongoDB与ES之间的实时增insert、删delete、改update操作。
对于历史数据,mongo-connector工具不能同步到ES中,根因是本身工具不支持(初步界定),还是没有这种场景,待查(进一步研究后再更新)。

1. mongo-connector 地址:

https://github.com/mongodb-labs/mongo-connector

2、 mongo-connector 工具简介

mongo-connector工具创建一个从MongoDB簇到一个或多个目标系统的管道,目标系统包括:Solr,Elasticsearch,或MongoDB簇。
该工具在MongoDB与目标系统间同步数据,并跟踪MongoDB的oplog,保持操作与MongoDB的实时同步。
该工具已经在python2.6,2.7,3.3+下进行验证。
mongo-connector工具是基于python开发的实时同步服务工具。它要求mongo运行在replica-set模式,且需要 elastic2_doc_manager将数据写入ES。
这里写图片描述

3、 elastic2-doc-manager 工具简介

这是Elastic2.x版本的文档管理器。对应Elastic1.x版本需要使用 elastic-doc-manager。

4、ES与MongoDB同步步骤:

(1)安装 mongo-connector。

pip install mongo-connector

(2)安装 elastic2-doc-manager。

pip install elastic2-doc-manager

注意:
如果不安装(2)直接进入(3)、(4)则会报错:

[root@5b9dbaaa148a bin]# mongo-connector -m 10.8.5.99:27017 -t 10.8.5.101:9200 -d elastic2_doc_managerLogging to mongo-connector.log.Exception in thread Thread-1:Traceback (most recent call last):  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner  self.run()
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(3)mongo端启动

MongoDB 必须开启复制集,如果已经开启请忽略这一步:

1)通过  –replSet 设定副本集名称。

[root@b48eafd69929 bin]# ./mongod --replSet "rs0"
  
  
  
  • 1

2)将mongo与副本集成员连接

[root@b48eafd69929 bin]# ./mongoMongoDB shell version: 3.2.4connecting to: testServer has startup warnings:2016-07-05T09:49:01.330+0100 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2016-07-05T09:49:01.330+0100 I CONTROL [initandlisten]2016-07-05T09:49:01.331+0100 I CONTROL [initandlisten]2016-07-05T09:49:01.331+0100 I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine.2016-07-05T09:49:01.331+0100 I CONTROL [initandlisten] ** We suggest launching mongod like this to avoid performance problems:2016-07-05T09:49:01.332+0100 I CONTROL [initandlisten] ** numactl --interleave=all mongod [other options]2016-07-05T09:49:01.332+0100 I CONTROL [initandlisten]2016-07-05T09:49:01.332+0100 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2016-07-05T09:49:01.332+0100 I CONTROL [initandlisten] ** We suggest setting it to 'never'2016-07-05T09:49<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值