`
commissioner
  • 浏览: 22412 次
  • 性别: 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics