下面给你一份Linux 下 MongoDB 集群搭建(副本集 + 分片)的实用指南,从最常用副本集到分片集群逐步说明,适合生产环境参考。
# Ubuntu
sudo apt update
sudo apt install -y mongodb-org
# CentOS
sudo yum install -y mongodb-org
启动:
systemctl start mongod
systemctl enable mongod
编辑 /etc/mongod.conf
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
net:
bindIp: 0.0.0.0
port: 27017
replication:
replSetName: rs0
重启:
systemctl restart mongod
mongo
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "192.168.1.10:27017" },
{ _id: 1, host: "192.168.1.11:27017" },
{ _id: 2, host: "192.168.1.12:27017" }
]
})
查看状态:
rs.status()
✅ 副本集完成
sharding:
clusterRole: configsvr
replication:
replSetName: cfgrs
net:
bindIp: 0.0.0.0
port: 27019
初始化:
mongo --port 27019
rs.initiate({...})
sharding:
clusterRole: shardsvr
replication:
replSetName: shard1
net:
port: 27018
mongos --configdb cfgrs/192.168.1.10:27019,192.168.1.11:27019,192.168.1.12:27019
mongo
sh.addShard("shard1/192.168.1.10:27018,192.168.1.11:27018")
sh.enableSharding("mydb")
sh.shardCollection("mydb.user", { user_id: "hashed" })
rs.status() # 副本集状态
sh.status() # 分片状态
db.printSlaveReplicationInfo()
✅ 生产必须:
✅ 推荐:
如果你愿意,可以告诉我:
我可以直接给你一份可复制的配置文件 + 命令脚本。