在Debian系统上搭建MongoDB集群的步骤如下:
安装MongoDB:
sudo apt update
sudo apt install -y mongodb-org
配置MongoDB:
/etc/mongod.conf
,设置必要的参数,例如:net:
port: 27017
bindIp: 0.0.0.0
storage:
dbPath: /var/lib/mongodb
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
sudo systemctl restart mongod
openssl rand -base64 756 > mongodb-keyfile
chmod 600 mongodb-keyfile
mongo --host <primary-host>:27017
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "<node1-host>:27017" },
{ _id: 1, host: "<node2-host>:27017" },
{ _id: 2, host: "<node3-host>:27017", arbiterOnly: true }
]
})
mongo --host <primary-host>:27017
rs.add("<node4-host>:27017")
rs.add("<node5-host>:27017")
创建分片目录:
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" }
]
})
启动mongos路由器:
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")
验证配置:
mongo --host <mongos-host>:27017
sh.status()