實驗性質,副本集的三個節點都部署在同一臺機器上
基本信息如下
服務器地址 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()