在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()