实验性质,副本集的三个节点都部署在同一台机器上
基本信息如下
服务器地址 10.10.10.191
副本集名称 rs
容器节点及端口映射
n0 37017:27017
n1 47017:27017
n2 57017:27017
步骤如下
1.启动三个节点
docker run --name m0 -p 37017:27017 -d mongo --replSet "rs"
docker run --name m1 -p 47017:27017 -d mongo --replSet "rs"
docker run --name m2 -p 57017:27017 -d mongo --replSet "rs"
2.连接任意一个节点,进行副本集配置
使用docker进入一个有mongo客户端的容器
docker run -it --rm mongo bash
连接三个节点中的任意一个,注意ip地址为宿主机ip,我当前的为10.10.10.191
mongo --host 10.10.10.191 --port 37017
此时已连接到m0节点,进行副本集配置
var config={
_id:"rs",
members:[
{_id:0,host:"10.10.10.191:37017"},
{_id:1,host:"10.10.10.191:47017"},
{_id:2,host:"10.10.10.191:57017"}
]};
rs.initiate(config)
响应应该类似下面,注意此时命令提示符已经发生变化,由原来的 > 变成了 rs:SECONDARY>
{
"ok" : 1,
"operationTime" : Timestamp(1522810920, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1522810920, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
查看副本集配置信息
rs.conf()
查看副本集状态
rs.status()