在CentOS上配置MongoDB的复制策略,通常涉及设置一个主节点(Primary)和一个或多个从节点(Secondary)。以下是详细的步骤:
首先,确保你已经在所有节点上安装了MongoDB。你可以使用以下命令来安装:
sudo yum install -y mongodb-org
编辑主节点的MongoDB配置文件(通常是 /etc/mongod.conf
),确保以下配置项正确设置:
net:
port: 27017
bindIp: 0.0.0.0 # 绑定所有IP地址
replication:
replSetName: rs0 # 设置复制集名称
在主节点上启动MongoDB服务:
sudo systemctl start mongod
sudo systemctl enable mongod
连接到主节点的MongoDB shell:
mongo --host <主节点IP> --port 27017
在MongoDB shell中,初始化复制集:
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "<主节点IP>:27017" }
]
}
)
连接到主节点的MongoDB shell,然后添加从节点:
rs.add("<从节点IP>:27017")
在MongoDB shell中,使用以下命令验证复制集的状态:
rs.status()
你应该能看到所有节点的状态,包括主节点和从节点。
确保从节点的MongoDB配置文件(通常是 /etc/mongod.conf
)中没有设置 replSetName
,因为这个设置已经在初始化复制集时完成了。
在所有节点上重启MongoDB服务以应用配置更改:
sudo systemctl restart mongod
你可以使用以下命令来监控复制集的健康状况:
rs.printSlaveReplicationInfo()
如果你希望应用程序能够读取从节点的数据,可以在应用程序中进行相应的配置。例如,在使用MongoDB驱动程序时,可以指定读取偏好(Read Preference)为 secondaryPreferred
。
以下是一个示例的主节点配置文件 /etc/mongod.conf
:
net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: rs0
以下是一个示例的从节点配置文件 /etc/mongod.conf
:
net:
port: 27017
bindIp: 0.0.0.0
通过以上步骤,你应该能够在CentOS上成功配置MongoDB的复制策略。