在Debian上搭建MongoDB集群涉及多个步骤,包括安装MongoDB、配置副本集(Replica Set)以及设置高可用性(如果需要)。以下是详细的步骤指南:
首先,确保系统是最新的:
sudo apt update && sudo apt upgrade -y
安装必要的依赖包:
sudo apt install -y libcurl4 openssl liblzma5 gnupg
添加MongoDB官方仓库:
对于Debian 11(Bullseye):
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
对于Debian 10(Buster):
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
更新APT包索引:
sudo apt update
安装MongoDB:
sudo apt install -y mongodb-org
openssl rand -base64 756 > mongodb-keyfile
sudo chmod 600 mongodb-keyfile
scp mongodb-keyfile username@remotehost:/path/to/mongodb-keyfile
编辑 /etc/mongod.conf
文件,添加或修改以下配置项:
security:
keyFile: /path/to/mongodb-keyfile
在主节点上执行:
mongod --port 27017 --dbpath /data/db1 --replSet myReplicaSet
连接到主节点(Primary):
mongo --port 27017
运行以下命令初始化副本集:
rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017" , arbiterOnly: true }
]
}
)
在其他节点上执行:
mongo --host node2:27017 rs.add("node3:27017")
在mongo shell中运行以下命令查看副本集状态:
rs.status()
确保所有节点都已加入同一个复制集。
在任意一个节点上执行:
mongod --configsvr --replSet rs0 --dbpath /data/configdb --port 27019
在任意一个节点上执行:
mongos --configdb rs0/node1:27019,node2:27019,node3:27019 --port 27017
mongos> sh.addShard("rs0/node1:27010,node2:27010,node3:27010")
mongos> sh.status()
以上步骤提供了在Debian上搭建MongoDB副本集和高可用集群的基本流程。根据实际需求,您可能还需要进行更多的配置和优化。