以下是在CentOS上部署MongoDB分片的策略,基于搜索结果整理关键步骤及要点:
安装MongoDB
通过官方YUM源或手动安装包部署,确保所有节点安装版本一致。
sudo yum install -y mongodb-org
配置网络与权限
/data/configdb、/data/shard1等),避免使用默认路径。--configsvr参数和副本集名称:mongod --configsvr --replSet configReplSet --dbpath /data/configdb --port 27019
rs.initiate({
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "cfg1.example.com:27019" },
{ _id: 1, host: "cfg2.example.com:27019" },
{ _id: 2, host: "cfg3.example.com:27019" }
]
})
--shardsvr参数和副本集名称:mongod --shardsvr --replSet shard1ReplSet --dbpath /data/shard1 --port 27018
rs.initiate({
_id: "shard1ReplSet",
members: [
{ _id: 0, host: "shard1a.example.com:27018" },
{ _id: 1, host: "shard1b.example.com:27018" },
{ _id: 2, host: "shard1c.example.com:27018" }
]
})
mongos --configdb configReplSet/cfg1.example.com:27019,cfg2.example.com:27019,cfg3.example.com:27019 --port 27017
添加分片到集群
连接到Mongos,通过sh.addShard()添加分片(需指定分片副本集名称和成员):
sh.addShard("shard1ReplSet/shard1a.example.com:27018,shard1b.example.com:27018,shard1c.example.com:27018")
启用分片
sh.enableSharding("yourDatabase")
_id或自定义字段):sh.shardCollection("yourDatabase.yourCollection", { "shardKey": 1 })
验证集群状态
通过sh.status()查看分片集群状态,确认分片、副本集和路由信息正常。
mongostat、mongotop或MongoDB Atlas监控集群性能。mongodump工具实现。以上步骤参考自,可根据实际环境调整节点数量和配置参数。