在Ubuntu上配置MongoDB集群(复制集)涉及几个步骤。以下是一个基本的指南,帮助你设置一个三节点的MongoDB复制集。
sudo apt update
sudo apt install -y mongodb
首先,你需要为每个MongoDB实例创建配置文件。假设我们要创建三个实例,分别命名为mongo1
, mongo2
, 和 mongo3
。
sudo mkdir -p /data/db1
sudo mkdir -p /data/db2
sudo mkdir -p /data/db3
为每个实例创建一个配置文件:
mongo1.conf
storage:
dbPath: /data/db1
systemLog:
destination: file
logAppend: true
net:
port: 27017
replication:
replSetName: rs0
mongo2.conf
storage:
dbPath: /data/db2
systemLog:
destination: file
logAppend: true
net:
port: 27018
replication:
replSetName: rs0
mongo3.conf
storage:
dbPath: /data/db3
systemLog:
destination: file
logAppend: true
net:
port: 27019
replication:
replSetName: rs0
使用以下命令启动每个MongoDB实例:
mongod --config /etc/mongod.conf --fork --logpath /var/log/mongodb/mongo1.log --port 27017
mongod --config /etc/mongod.conf --fork --logpath /var/log/mongodb/mongo2.log --port 27018
mongod --config /etc/mongod.conf --fork --logpath /var/log/mongodb/mongo3.log --port 27019
连接到其中一个MongoDB实例并初始化复制集:
mongo --port 27017
在Mongo shell中执行以下命令:
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" },
{ _id: 2, host: "localhost:27019" }
]
}
)
在Mongo shell中执行以下命令来验证复制集的状态:
rs.status()
你应该看到所有三个节点都列在members
数组中,并且状态为SECONDARY
或PRIMARY
。
通过以上步骤,你应该能够在Ubuntu上成功配置一个MongoDB复制集。