MongoDB 集群配置涉及多個組件,包括分片服務(wù)器、配置服務(wù)器和路由服務(wù)器(mongos)。以下是詳細的配置指南:
分片服務(wù)器存儲實際的數(shù)據(jù)。通常,每個分片是一個副本集。
mongo --host <shard-server1>:27017
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "<shard-server1>:27017" },
{ _id: 1, host: "<shard-server2>:27017" },
{ _id: 2, host: "<shard-server3>:27017" }
]
}
)
mongo --host <mongos>:27017
sh.enableSharding("<database>")
{"<field>": 1}
。sh.shardCollection("<database>.<collection>", { "<field>": 1 })
配置服務(wù)器存儲集群的元數(shù)據(jù)。通常,配置服務(wù)器也是一個副本集。
mongo --host <config-server1>:27017
rs.initiate(
{
_id: "cfgReplSet",
configsvr: true,
members: [
{ _id: 0, host: "<config-server1>:27017" },
{ _id: 1, host: "<config-server2>:27017" },
{ _id: 2, host: "<config-server3>:27017" }
]
}
)
路由服務(wù)器是應用程序與分片集群之間的接口。
mongo --host <mongos>:27017
sh.addShard("<shard-server1>:<port>,<shard-server2>:<port>,<shard-server3>:<port>")
sh.addConfigServer("<config-server1>:<port>,<config-server2>:<port>,<config-server3>:<port>")
sh.enableSharding("<database>")
sh.shardCollection("<database>.<collection>", { "<field>": 1 })
mongo --host <mongos>:27017
sh.status()
mongo --host <mongos>:27017
sh.status("configsvr")
通過以上步驟,您可以成功配置一個 MongoDB 集群。請根據(jù)您的具體環(huán)境和需求進行調(diào)整。