副本集(Replica Set)

1. 环境准备

  • 准备至少三个MongoDB实例(例如:mongod1mongod2mongod3)。
  • 配置网络,确保这些实例可以相互通信。

2. 配置文件(以mongod1为例)

4. 初始化副本集

连接到其中一个实例(例如:mongod1),并执行以下命令:

mongo --port 27017  
use admin  
rs.initiate(  
   {  
      _id: "myReplSet",  
      members: [  
         { _id: 0, host: "localhost:27017" },  
         { _id: 1, host: "<mongod2-ip>:27017" },  
         { _id: 2, host: "<mongod3-ip>:27017", arbiterOnly: true } // 可以设置为仲裁节点  
      ]  
   }  
)

5. 添加更多成员

如果之前没有将所有成员添加到配置中,可以使用rs.add()命令。

6. 验证副本集状态

1.rs.status()

分片(Sharding)

1. 环境准备

  • 部署Config Server(配置服务器)。
  • 准备Shard Server(分片服务器),这些服务器上运行着分片实例。
  • 准备一个或多个Mongos实例(路由实例),它们处理客户端请求并将数据路由到正确的分片。

2. 配置文件(Config Server和Shard Server)

类似副本集,但不需要replication部分,并可能需要指定sharding配置。

3. 启动Config Server和Shard Server

4. 连接到Mongos实例

mongo --host <mongos-ip> --port <mongos-port>

5. 添加Shard到集群

use admin sh.addShard("rs0/<mongod1-ip>:27017,<mongod2-ip>:27017") // rs0是Shard Server的副本集名称

6. 启用分片

首先,需要为数据库启用分片:

sh.enableSharding("myDatabase")

然后,为集合指定分片键:

sh.shardCollection("myDatabase.myCollection", { myShardKey: 1 })

7. 验证分片状态

sh.status()

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值