如何设置配置文件启动服务; 2.如何配置主从节点; 3.如何验证复制集同步; 4.如何手动切换 Primary 节点到指定的节点。 我们在一台虚拟机中启动三个 mongodb 服务,来模拟多台服务器协同工作的情况。 选用三个端口连接数据库:27018、27019、27020。
时间: 2024-11-12 11:39:41 浏览: 4
Mysql主从集群搭建方法,以及基于spring boot注解式数据库读写分离代码示例.zip
1. 设置配置文件启动服务通常涉及修改 `mongod.conf` 文件,这个文件位于 MongoDB 安装目录下。你可以按照以下步骤操作:
- 打开该文件,每个服务对应一个独立的配置段落,例如:
```
# mongod_1.conf
port=27018
bind_ip=0.0.0.0
```
- 保存并关闭文件,然后通过命令行运行 `mongod` 后跟配置文件名,如:
```
mongod --config mongod_1.conf
```
对于其他两个节点,只需将 `port` 和 `bind_ip` 参数改为相应端口,并分别命名为 `mongod_2.conf` 和 `mongod_3.conf`。
2. 配置主从节点(Replica Set)需要在集群成员的配置文件中添加相应的 `replSet` 属性和 `members` 列表。每个成员都应包含 `_id`, `host`, 和 `priority` 等字段。例如:
```yaml
# replica_set_member_1.conf
members:
[
{
_id: 1,
host: "node1:27018"
},
{
_id: 2,
host: "node2:27019"
},
{
_id: 3,
host: "node3:27020",
priority: 0 # 优先级0表示副本
}
]
```
使用`mongo`客户端加入到集合:
```
mongo <<EOF
rs.initiate({
_id: "your_replicaset_name",
members: [ ... ] # 从配置文件复制过来
})
EOF
```
3. 验证复制集同步通常通过 `rs.status()` 命令检查。如果数据同步良好,状态会显示为 "myState: PRIMARY" 或 "myState: SECONDARY"。你也可以通过监控工具(如 MongoDB 监控代理 OpsManager)进行定期检查。
4. 手动切换Primary节点一般在现有Primary节点故障时进行。首先,使用`mongo`客户端将当前Secondary提升为新的Primary:
```
mongo <<EOF
rs.stepDown()
rs.promoteToPrimary()
EOF
```
新晋升的节点将成为新的Primary,并继续处理写入请求。同时,其他Secondary节点会自动开始同步新的数据。
阅读全文