MongoDB V3.4集群配置

1 . 启动2台配置服务器 端口分别为30000,30001 ,配置服务器在3.4版本配置成副本集CSRS模式
启动命令
mongod -f svr1.conf
mongod -f svr2.conf

配置文件1

dbpath=G:\confServer\confsvr1\data
logpath=G:\confServer\confsvr1\log\log.log
logappend=true
port=30000
configsvr=true

配置文件2

dbpath=G:\confServer\confsvr2\data
logpath=G:\confServer\confsvr2\log\log.log
logappend=true
port=30001
configsvr=true

2 . 启动2台路由服务器 端口分别为20000,20001

启动命令
mongos -f mongos1.conf
mongos -f mongos2.conf

mongos1.conf

configdb=127.0.0.1:30000,127.0.0.1:30001 #配置服务器的地址
port=20000
logpath=G:\mongos\mongos1\log.log

mongos2.conf

configdb=127.0.0.1:30000,127.0.0.1:30001 #配置服务器的地址

port=20001
logpath=G:\mongos\mongos2\log.log

3 . 配置3个分片的副本集

a . 配置分片1的副本集 1主1从1个仲裁节点
启动命令
mongod -f shard1.conf
mongod -f shard1_second.conf
mongod -f shard1_arbiter.conf

shard1.conf

dbpath=G:\shards\shard1\rs1\data

logpath=G:\shards\shard1\rs1\log\log.log

logappend=true

port=40000

shardsvr=true #分片服务器

replSet=shard1 #副本集

shard1_second.conf

dbpath=G:\shards\shard1\rs2\data

logpath=G:\shards\shard1\rs2\log\log.log

logappend=true

port=40001

shardsvr=true #分片服务器

replSet=shard1 #副本集

shard1_arbiter.conf

dbpath=G:\shards\shard1\rs3\data

logpath=G:\shards\shard1\rs3\log\log.log

logappend=true

port=40002

shardsvr=true #分片服务器

replSet=shard1 #副本集

启动好副本集shard1的3个服务器后,任意登录其中一个机器配置副本集,mongo 127.0.0.1:40000

use admin

config = { _id:"shard1", members:
[

{_id:0,host:"127.0.0.1:40000"},

{_id:1,host:"127.0.0.1:40001"},

{_id:2,host:"127.0.0.1:40002",arbiterOnly:true} #仲裁节点

]

}

rs.initiate(config);

按副本集shard1那样把副本集shard2,shard3配置好

把路由,配置服务器,分片及其副本集都配置好后,需要将路由和分片连接在一起,登录任意一个路由 mongo 127.0.0.1:20000

use admin

db.runCommand({addshard:"shard1/127.0.0.1:40000,127.0.0.1:40001,127.0.0.1:40002"})
db.runCommand({addshard:"shard2/127.0.0.1:40010,127.0.0.1:40011,127.0.0.1:40012"})
db.runCommand({addshard:"shard3/127.0.0.1:40020,127.0.0.1:40021,127.0.0.1:40022"})
db.runCommand( { listshards : 1 } ) #看看分片服务器的配置

可以看到如下输出

{

"shards" : [

{

"_id" : "shard1",

"host" : "shard1/127.0.0.1:40000,127.0.0.1:40001,127.0.0.1:40002"

},

{

"_id" : "shard2",

"host" : "shard2/127.0.0.1:40010,127.0.0.1:40011,127.0.0.1:40012"

},

{

"_id" : "shard3",

"host" : "shard3/127.0.0.1:40020,127.0.0.1:40021,127.0.0.1:40022"

}

],

"ok" : 1

}

接下来配置指定的数据库的集合自动分片生效

db.runCommand( { enablesharding :"db"});#指定testdb分片生效

db.runCommand( { shardcollection : "db.collection",key : {"分片键名": 1} } )#PS:键名需要是索引键

已经配置完毕,可以批量插入些数据是否成功

for (var i = 1; i <= 100000; i++)

db.table1.save({id:i,"test1":"testval1"});

你可能感兴趣的:(MongoDB V3.4集群配置)