MongoDB Windows配置手册

1. 主从

主节点

打开rest,工作在主模式,打开http管理接口,打开安全控制:mongod.exe --install --rest --master --httpinterface --auth --dbpath e:\mongodb\db --logpath e:\mongodb\log\log.txt --logappend

从节点

主节点地址192.168.117.1:mongod.exe --install --rest --slave --source 192.168.117.1 --autoresync --httpinterface --auth --dbpath d:\mongodb\db --logpath d:\mongodb\log\log.txt --logappend


2. 复制集

设置节点

(1) 设置节点0:mongod.exe --install --serviceName MongoDB-rs1-0 --serviceDisplayName MongoDB-rs1-0 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-0 --logpath e:\mongodb\log\log-rs1-0.txt --logappend
(2) 设置节点1:mongod.exe --install --port 27018 --serviceName MongoDB-rs1-1 --serviceDisplayName MongoDB-rs1-1 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-1 --logpath e:\mongodb\log\log-rs1-1.txt --logappend

配置复制集

在mongo shell中执行:config_rs1 = {_id:‘rs1‘, members: [ {_id:0, host:‘localhost:27017‘, priority:1}, {_id:1, host:‘localhost:27018‘} ]};rs.initiate(config_rs1)
 技术分享

复制集状态

rs.status()
 技术分享

添加节点

(1) 复制目录e:\mongodb\db\rs1-1为e:\mongodb\db\rs1-2
(2) mongod.exe --install --port 27019 --serviceName MongoDB-rs1-2 --serviceDisplayName MongoDB-rs1-2 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-2 --logpath e:\mongodb\log\log-rs1-2.txt --logappend --fastsync
(3) mongo shell中连接到ns1-0,并执行rs.add(“localhost:27019”)

 技术分享


3. 分片和复制集

这里创建两个分片,每个分片包含两个分布式节点的复制集,如下表所示:

 

192.168.117.1

192.168.117.129

192.168.117.130

复制集rs1

27017

27017

27017

复制集rs2

27018

27018

27018

配置服务

37017

37017

37017

路由进程

47017

--

--


设置复制集

(1) 建立复制集rs1

a) 在192.168.117.1设置复制集rs1: mongod.exe --install --serviceName MongoDB-rs1-0 --serviceDisplayName MongoDB-rs1-0 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-0 --logpath e:\mongodb\log\log-rs1-0.txt --logappend
b) 在192.168.117.129上设置复制集rs1: mongod.exe --install --serviceName MongoDB-rs1-1 --serviceDisplayName MongoDB-rs1-1 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-1 --logpath e:\mongodb\log\log-rs1-1.txt --logappend
c) 在192.168.117.130上设置复制集rs1: mongod.exe --install --serviceName MongoDB-rs1-2 --serviceDisplayName MongoDB-rs1-2 --httpinterface --rest --replSet rs1 --dbpath e:\mongodb\db\rs1-2 --logpath e:\mongodb\log\log-rs1-2.txt --logappend

(2) 建立复制集rs2

a) 在192.168.117.1设置复制集rs2: mongod.exe --install --port 27018 --serviceName MongoDB-rs2-0 --serviceDisplayName MongoDB-rs2-0 --httpinterface --rest --replSet rs2 --dbpath e:\mongodb\db\rs2-0 --logpath e:\mongodb\log\log-rs2-0.txt --logappend
b) 在192.168.117.129设置复制集合rs2: mongod.exe --install --port 27018 --serviceName MongoDB-rs2-1 --serviceDisplayName MongoDB-rs2-1 --httpinterface --rest --replSet rs2 --dbpath e:\mongodb\db\rs2-1 --logpath e:\mongodb\log\log-rs2-1.txt --logappend
c) 在192.168.117.130设置复制集合rs2: mongod.exe --install --port 27018 --serviceName MongoDB-rs2-2 --serviceDisplayName MongoDB-rs2-2 --httpinterface --rest --replSet rs2 --dbpath e:\mongodb\db\rs2-2 --logpath e:\mongodb\log\log-rs2-2.txt --logappend

(3) 配置rs1

mongo shell连接到192.168.117.1:27017,执行:rs.initiate({_id:‘rs1‘, members:[{_id:0, host:‘192.168.117.1:27017‘, priority:1}, {_id:1,host:‘192.168.117.129:27017‘}, {_id:2,host:‘192.168.117.130:27017‘}]})

(4) 配置rs2

mongo shell连接到192.168.117.1:27018,执行:rs.initiate({_id:‘rs2‘, members:[{_id:0, host:‘192.168.117.1:27018‘, priority:1}, {_id:1,host:‘192.168.117.129:27018‘}, {_id:2,host:‘192.168.117.130:27018‘}]})

(5) 在浏览器中查看复制集rs1信息

http://192.168.117.1:28017/_replSet

 技术分享

设置配置服务器

(1) 在192.168.117.1/129/130上执行:mongod --configsvr --install --serviceName MongoDB-cfg --serviceDisplayName MongoDB-cfg --httpinterface --rest --dbpath e:\mongodb\config --port 37017 --logpath e:\mongodb\log\log-cfg.txt --logappend

设置路由进程

(1) 在192.168.117.1上执行:mongos --configdb 192.168.117.1:37017,192.168.117.129:37017,192.168.117.130:37017 --install --port 47017 --serviceName MongoDB-rp --serviceDisplayName MongoDB-rp --chunkSize 1 --httpinterface --logpath e:\mongodb\log\log-rp.txt --logappend

设置分片集群

(1) 连接到路由进程mongo 192.168.117.1:47017
(2) use admin
(3) db.runCommand({addshard:"rs1/192.168.117.1:27017,192.168.117.129:27017,192.168.117.130:27017"})
(4) db.runCommand({addshard:"rs2/192.168.117.1:27018,192.168.117.129:27018,192.168.117.130:27018"})
(5) 为192.168.117.1:27018添加数据库meta_search
(6) 激活数据库分片:db.runCommand({enablesharding:"meta_search" }) 
(7) 激活集合分片:先建立wincc集合,然后运行命令db.runCommand({shardcollection: "meta_search.wincc", key:{ _id:1 }})。查看集合分片组态,出现如下信息表示分片成功
 技术分享
(8) MogoVUE中看到的集群架构:
    技术分享

(9) 查看集群分片状态。可以看到meta_search的partitioned为true,表示分片功能已经开启;primary表示这个数据库的“大本营“在哪里,不论分片与否,数据库总是会有个“大本营”,创建数据库时会随机选择一个片,也就是说大本营是开始创建数据库文件的位置,可以看出meta_search的大本营在rs2复制集。还可以看出分片中有两个复制集rs1和rs2,并且复制集的三个节点是分布在三个主机上的。

技术分享


4. 注意

By default, the size of the oplog is as follows:
? For 64-bit Linux, Solaris, FreeBSD, and Windows systems, MongoDB allocates 5% of the available free disk
space, but will always allocate at least 1 gigabyte and never more than 50 gigabytes.
? For 64-bit OS X systems, MongoDB allocates 183 megabytes of space to the oplog.

? For 32-bit systems, MongoDB allocates about 48 megabytes of space to the oplog.


转载请注明:http://blog.csdn.net/fragmentalice/article/details/43304007

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。