Mongodb Replica Sets部署

本文详细介绍了如何部署MongoDB的Replica Sets和Sharding,从创建数据目录到启动各个服务器实例,再到配置和验证Sharding,包括添加、移除Shard Server的步骤,是MongoDB集群部署的实用教程。
摘要由CSDN通过智能技术生成

一,Mongodb Replica Sets部署

1.先建好几个目录,放置数据
     数据文件
    E:\MongoDB\data1
    E:\MongoDB\data2
    E:\MongoDB\data3
2.开始搭建,启动三个MongoDB Server
   

    mongod --replSet prod --port 27017 --dbpath e:\mongodb\data1 
    mongod --replSet prod --port 27027 --dbpath e:\mongodb\data2
    mongod --replSet prod --port 27037 --dbpath e:\mongodb\data3
3.进入其中一个mongodb中,完成相关的配置
replica_config = {_id: 'prod', members: [
                          {_id: 0, host: 'localhost:27017'},
                          {_id: 1, host: 'localhost:27027'},
                          {_id: 2, host: 'localhost:27037'}]}
#Now initiate the replica_config
rs.initiate(replica_config);

4. rs.status()   // 通过查看状态可知晓新增节点有以下过程


5.db.getMongo().setSlaveOk()  

6.ok,就可以了,

myrs:SECONDARY> db.bank.find()
{ "_id" : 0, "name" : "joe", "age" : "50", "score" : 99 }
{ "_id" : 1, "name" : "joe", "age" : "60", "score" : 99 }
{ "_id" : 2, "name" : "joe", "age" : "70", "score" : 99 }
{ "_id" : ObjectId("4ec3849baa5bff10ca03145b"), "computer" : "mac" }

可以看到数据已经同步过来。


7.新增replica set 节点,配置和启动如上述步骤。下面将新加节点192.168.8.207:28010加入复制集中。
rs1:PRIMARY> rs.add({_id:3,host:"hostlocal:27047"})
rs1.PRIMARY> rs.status() //通过查看状态可知晓新增节点有以下过程

 8.通过如下命令删除节点:

rs1:PRIMARY> rs.remove("hostlocal:27037")
rs1:PRIMARY> rs.status()


二,Sharding

1. 先建好几个文件夹

    E:\MongoDB\Data\shard\s1
    E:\MongoDB\Data\shard\s0
    E:\MongoDB\Data\shard\log
    E:\MongoDB\Data\shard\config

2.启动Shard Server

    1) mongod --shardsvr --port 20000 --dbpath e:\mongodb\data\shard\s0 --logpath e:\mongodb\data\shard\log\s0.log --directoryperdb    
    2) mongod --shardsvr --port 20001 --dbpath e:\mongodb\data\shard\s1 --logpath e:\mongodb\data\shard\log\s1.log --directoryperdb

3. 启动Config Server

    1) mongod --configsvr--port 30000 --dbpath e:\mongodb\data\shard\config --logpath e:\mongodb\data\shard\log\config.log --directoryperdb

4. 启动Route Process

    1) mongos --port 40000 --configdb localhost:30000 --logpath e:\mongodb\data\shard\log\route.log --chunkSize:1

5. 配置Sharding 

      1). 先连接DB
             MONGO ADMIN --port 40000

       2) db.runCommand({addshard:"localhost:20000"})

       3) db.runCommand({addshard:"localhost:20001"})

       4) db.runCommand({enablesharding:"test"})

       5) db.runCommand({ shardcollection:"test.users",key:{_id:1}})

6. 验证Sharding

     给test.users表插入测试数据
  1).use test
  2)  for(var i=1;i<=5000000;i++) db.users.insert({age:i,name:“fanfenghua”,addr:"SuZhou",country:"China"})
 
验证:
db.users.stats()

7.维护Sharding
1) 列出所有的Shard Server

   db.runCommand({listshards:1})

2) 查看sharding信息

   printShardingStatus()

3). 判断是否是sharding

    db.runCommand({isdbgrid:1})

8. 对现有的表执行sharding

       1) db.runCommand({ shardcollection:"test.users",key:{_id:1}})

9 新增Shard Server

     db.runCommand({addshard:"localhost:20002"})

10.移除Shard Server:

     db.runCommand({removeshard:"localhost:20002"})


    
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值