以下是在Linux上搭建MongoDB集群的两种常见方式(副本集和分片集群)的步骤要点:
apt/yum)安装,或从官网下载二进制包解压。/etc/mongod.conf,关键参数:storage: dbPath: /data/mongodb/db # 数据目录 journal: enabled: true systemLog: path: /var/log/mongodb/mongod.log logAppend: true net: bindIp: 0.0.0.0 # 允许所有IP访问(生产环境需限制) port: 27017 # 端口(每个节点需唯一) replication: replSetName: "rs0" # 副本集名称(所有节点一致) sudo systemctl start mongod sudo systemctl enable mongod mongo --host <节点IP> --port 27017 rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "节点1:27017" }, { _id: 1, host: "节点2:27017" }, { _id: 2, host: "节点3:27017" } ] }) rs.status() // 查看主从节点状态 rs.add("新节点IP:27017") 配置服务器(副本集):
mongod.conf,指定replSetName: configRs和sharding.clusterRole: configsvr。mongod -f config-1.conf # 重复3个节点 rs.initiate({ _id: "configRs", members: [...] }) 分片服务器(副本集):
replSetName: shardXRs(如shard1Rs)和sharding.clusterRole: shardsvr。Mongos路由:
mongos.conf,指定configDB: configRs/节点1:27019,节点2:27019,节点3:27019。mongos -f mongos.conf mongo --host <mongos-IP> --port 27017 sh.addShard("shard1Rs/节点4:27001,节点5:27001,节点6:27001") sh.enableSharding("mydb") sh.shardCollection("mydb.users", { "_id": "hashed" }) // 按ID哈希分片 sh.status() security.authorization: enabled)和密钥文件(keyFile)。mongostat、mongotop等工具监控集群状态,定期备份数据。详细步骤可参考官方文档:MongoDB副本集文档、分片集群文档。