以下是在Debian上部署MongoDB分片的指南:
更新系统软件包,添加MongoDB官方仓库并安装:
sudo apt update && sudo apt upgrade -y
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org
/data/config1
等,在每个节点上启动配置服务器并初始化副本集,配置文件示例:mongod --configsvr --replSet cfgReplSet --dbpath /data/config1 --port 27019 --fork
,初始化命令:rs.initiate({_id: "cfgReplSet", configsvr: true, members: [{"_id":0, "host":"node1:27019"}, {"_id":1, "host":"node2:27019"}, {"_id":2, "host":"node3:27019"}]})
。/data/shard1-1
等,启动分片服务器并初始化副本集,配置文件示例:mongod --shardsvr --replSet shard1Rs --dbpath /data/shard1-1 --port 27001 --fork
,初始化命令类似配置服务器。mongos --configdb cfgReplSet/node1:27019,node2:27019,node3:27019 --port 27017 --fork
。连接到mongos实例,添加分片:sh.addShard("shard1Rs/node4:27001,node5:27001,node6:27001")
。启用数据库分片:sh.enableSharding("mydb")
,指定集合分片键:sh.shardCollection("mydb.mycollection", {"_id": "hashed"})
。
使用sh.status()
命令查看分片集群状态,包括分片、配置服务器和路由服务器的状态。