在Ubuntu上搭建MongoDB集群涉及多个步骤,包括安装MongoDB、配置副本集、配置分片、启动集群等。以下是详细的步骤指南:
storage.dbPath
、systemLog.path
、net.port
、security.keyFile
、replication.replSetName
、security.authorization
等。mongod --config /path/to/mongod.conf
。rs.initiate()
命令来初始化副本集,定义副本集名称和成员信息。rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017", arbiterOnly: true }
]
})
其中 _id
是副本集的唯一标识符,members
数组定义了副本集的成员,arbiterOnly: true
表示该节点是仲裁者节点,不存储数据。rs.add("hostname:port")
命令来添加它们到副本集中。rs.add("node4:27017")
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 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" }
]
}
)
mongo --host mongos-server1:27017
sh.addShard("shard-server1:27017,shard-server2:27017,shard-server3:27017")
sh.addConfigServer("config-server1:27017,config-server2:27017,config-server3:27017")
sh.enableSharding("database")
sh.status()
命令检查分片状态。sh.status("configsvr")
命令检查配置服务器状态。请注意,以上步骤可能需要根据具体的环境和需求进行调整。在进行分片之前,建议详细了解MongoDB的分片机制和最佳实践。