`
commissioner
  • 浏览: 23193 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用mongo-connector从mongo同步数据到elasticsearch步骤(windows实现)

 
阅读更多

源于项目需要,把mongo的数据同步到elasticsearch(后面简称ES)。让ES作检索。通过研究终于实现.具体如下步骤:

 

A.mongo副本集配置

 本文配置使用数据库版本:3.0.5    64位版

1. 拷贝三分mongodb(bin文件夹及其子目录)到服务器下,目录依次为:

D:\mongo_db\mongo_master  /*当前目录的Mongo做主库:localhost:27311*/

D:\mongo_db\mongo_slave   /*当前目录的Mongo做从库:localhost:27321*/

D:\mongo_db\mongo_arbiter  /*当前目录的Mongo做仲裁服务器:localhost:27331*/

2.主/从/仲裁创建文件目录如下:

D:\mongo_db\mongo_master\data\db

D:\mongo_db\mongo_master\data\log

 

D:\mongo_db\mongo_slave\data\db

D:\mongo_db\mongo_slave\data\log

 

D:\mongo_db\mongo_arbiter\data\db

D:\mongo_db\mongo_arbiter\data\log

 

3.创建主库数据库服务:

cd D:\mongo_db\mongo_master\bin

执行命令:

mongod --replSet shard1 --port 27311 --logpath "D:\mongo_db\mongo_master\data\log\MongoDB.log" --logappend --dbpath "D:\mongo_db\mongo_master\data\db" --serviceName "mongo_master" --serviceDisplayName "mongo_master" --install

4.创建从库数据库服务:

cd D:\mongo_db\mongo_slave\bin

执行命令:

mongod --replSet shard1 --port 27321 --logpath "D:\mongo_db\mongo_slave\data\log\MongoDB.log" --logappend --dbpath "D:\mongo_db\mongo_slave\data\db" --serviceName "mongo_slaver" --serviceDisplayName "mongo_slaver" --install

5.创建仲裁库服务:

cd D:\mongo_db\mongo_arbiter\bin

mongod --replSet shard1 --port 27331 --logpath "D:\mongo_db\mongo_arbiter\data\log\MongoDB.log" --logappend --dbpath "D:\mongo_db\mongo_arbiter\data\db" --serviceName "mongo_arbiter" --serviceDisplayName "mongo_arbiter" --install

 

6.启动主/从/仲裁

在cmd控制台输入:

net start mongo_master

net start mongo_slaver

net start mongo_arbiter

 

7.登录主库:

cd D:\mongo_db\mongo_slave\bin

mongo localhost:27311

>use admin

>cfg={_id:"shard1",members:[{_id:0,host:"localhost:27311",priority:1},{_id:1,host:"localhost:27321",priority:1},{_id:2,host:"localhost:27331",arbiterOnly:true}]}

>rs.initiate(cfg)

>rs.status()//此命令验证添加副本集成功

如下:

 

 

 至此 mongo副本集配置完成。

 

B.安装python

安装python-3.5.3-amd64.exe 

安装mongo-connector命令:  pip install elastic-doc-manager[elastic2]

 

C.安装:ElasticSearch

D:\software\elasticsearch-2.4.0

并启动ElasticSearch:双击:D:\software\elasticsearch-2.4.0\bin\elasticsearch.bat

 

E.启动mongo-connector:

mongo-connector --auto-commit-interval=0 -m localhost:27311 -t localhost:9200 -d elastic2_doc_manager

 

F: 登录主库创建一条数据:

>use person

>db.person.insert({"name":"jack","age":30})

>db.person.find() //查看是否保存成功

 

G:在浏览器地址栏输入:http://localhost:9200/_cat/indices?v 可以看到index列下已经有了person。则证明已经同步到ES.

H: 登录mongo从库:

D:\mongo_db\mongo_slave\bin>mongo localhost:27321 MongoDB shell version: 3.0.5 connecting to: localhost:27321/test shard1:SECONDARY> use person switched to db person shard1:SECONDARY> db.person.find() Error: error: { "$err" : "not master and slaveOk=false", "code" : 13435 } shard1:SECONDARY> rs.slaveOk(); shard1:SECONDARY> db.person.find() { "_id" : ObjectId("598417b9017cd7642360634d"), "name" : "Johon", "age" : "30" }

 

I:全过程完毕。

 

 

 

 

  • 大小: 32.8 KB
分享到:
评论

相关推荐

    mongo-connector-2.11-2.3.0

    Mongo-Connector是一个强大的工具,用于将MongoDB的数据同步到其他数据存储系统,如Elasticsearch或Solr。在本案例中,我们关注的是版本2.3.0,它专为pyspark2.3.0和Scala2.11构建。这个版本确保了与特定Spark和...

    PyPI 官网下载 | mongo-connector-transaction-1.6.0.tar.gz

    `mongo-connector` 正是为了解决这个问题,它允许用户将 MongoDB 与支持事务的其他数据库(如 Elasticsearch、Amazon DynamoDB 或者其他的 NoSQL 数据库)进行连接,从而实现数据的实时同步。 `mongo-connector` ...

    mongo-connector:YouGov提供的MongoDB数据流管道工具(从MongoDB中采用)

    系统总览mongo-connector创建从MongoDB集群到一个或多个目标系统(例如Solr,Elasticsearch或另一个MongoDB集群)的管道。 它将MongoDB中的数据同步到目标,然后尾随MongoDB oplog,实时跟踪MongoDB中的操作。 上...

    mongoconnector

    mongo-connector工具创建一个从MongoDB簇到一个或多个目标系统的管道,目标系统包括:Solr,Elasticsearch,或MongoDB簇。 该工具在MongoDB与目标系统间同步数据,并跟踪MongoDB的oplog,保持操作与MongoDB的实时...

    elastic2-doc-manager:适用于elasticsearch 2.x的Mongo-Connector文档管理器

    `elastic2-doc-manager`是Mongo-Connector的一个插件,专门用于将MongoDB的数据同步到Elasticsearch 2.x。这个插件实现了将MongoDB文档转换为Elasticsearch兼容的JSON格式,并通过HTTP接口将它们推送到Elasticsearch...

    mongo-es:从MongoDB到Elasticsearch的连接器

    MongoDB到Elasticsearch连接器 安装 npm i -g mongo-es 用法 命令行 # normal mode mongo-es ./config.json # debug mode, with debug info printed NODE_ENV=dev mongo-es ./config.json 以编程方式 const fs = ...

    Windows下Mongodb自动同步Elasticsearch教程

    Windows环境下实现MongoDB与Elasticsearch数据自动同步是大数据和搜索领域经常需要进行的操作,可以帮助用户实时将数据库中的数据变化同步到搜索引擎中,以便快速检索。本文介绍如何使用Python 2.7.14,MongoDB ...

    node-mongodb-es-connector:nodejs mongodb elasticsearch syncdata(mongodb和es同步数据)

    用于节点的MongoDB和ElasticSearch同步模块(支持附件同步) 支持一对一和一对多关系。 中文文档- 一对一-一个mongodb集合到一个elasticsearch索引 一对多-一个mongodb集合到一台Elasticsearch服务器的多个索引...

    docker-compose-files:一些典型的docker compose模板

    Docker撰写文件 一些典型的docker撰写示例。 ...启动mongo(作为集群)和elasticsearch,使用mongo-connector将数据从mongo同步到elasticsearch。 启动1个mongo实例和一个mongo-express Web工具进

    mongolastic:从MongoDB到Elasticsearch的数据集迁移工具,反之亦然

    它通过映射MongoDB的数据结构到Elasticsearch的文档结构,实现数据的转换。例如,MongoDB中的文档(JSON格式)可以被转换为Elasticsearch中的文档,同时保留原有的字段和值。这涉及到数据类型转换和结构化处理,例如...

    monstache:一个go守护进程,可将MongoDB实时同步到Elasticsearch

    一个go守护进程,它将mongodb实时同步到elasticsearch 版本6 此版本的monstache是​​为MongoDB 3.6+和Elasticsearch 7.0+设计的。 它使用了官方的MongoDB golang驱动程序和来自Olivere的社区支持的Elasticsearch...

Global site tag (gtag.js) - Google Analytics