在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 [ archamd64,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
配置MongoDB实例:
sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
/etc/mongod.conf
,配置必要的参数,例如:net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: "rs0"
storage:
dbPath: /var/lib/mongodb
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
sudo systemctl start mongod
sudo systemctl enable mongod
创建并配置副本集:
mongo --host node1_ip --port 27017
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "node1_ip:27017" },
{ _id: 1, host: "node2_ip:27017" },
{ _id: 2, host: "node3_ip:27017" }
]
})
rs.add("node4_ip:27017")
rs.add("node5_ip:27017")
配置分片集群:
sudo mkdir -p /data/db
mongo --host shard-server1:27017
rs.initiate({
_id: "shard1",
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: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "config-server1:27017" },
{ _id: 1, host: "config-server2:27017" },
{ _id: 2, host: "config-server3:27017" }
]
})
mongo --host mongos-host:27017
sh.addShard("shard1/shard-server1:27017,shard-server2:27017,shard-server3:27017")
sh.addConfigServer("config-server1:27017,config-server2:27017,config-server3:27017")
验证集群状态:
sh.status()