按照Oreily Scaling MongoDB一书(即第27页),我看到了以下命令:
连接后,您可以添加分片。有两种方法可以添加 分片,取决于分片是单个服务器还是分片 副本集。假设我们有一台服务器,sf-02,我们一直都是 用于数据。我们可以通过运行addShard使它成为第一个分片 命令:
> db.runCommand({"addShard" : "sf-02:27017"})
{ "shardAdded" : "shard0000", "ok" : 1 }
问题1>:应该在sf-02的服务器上做什么? 我还应该安装MongoDB吗?如果有,哪个包?
例如,如果我们创建了一个副本集,名为副本集“rs” 成员rs1-a,rs1-b和rs1-c,我们可以说:
> db.runCommand({"addShard" : "rs/rs1-a,rs1-c"})
{ "shardAdded" : "rs", "ok" : 1 }
问题2>:“rs”在哪里?
问题3>:rs1-a,rs1-c是否共享同一台机器?
答案 0 :(得分:1)
回复1:您应该使用--shardsvr选项运行mongod以将其作为分片服务器启动。每个分片服务器必须知道它将从mongos(分片路由器)接收连接。
回复2:'rs'是副本集的名称,集合只是一组机器(通常为3)。所以它不是位于一台机器上,它是一个抽象实体,代表集合中的机器组。
回复3:没有。出于测试目的,您可以在同一台计算机上运行副本集,但副本集的用途是故障转移。在生产中,您应该为该组的每个成员使用不同的机器。