具有三個節點的基本配置
副本集是一組維護相同資料集的 mongod 例項。
此示例顯示如何在同一伺服器上配置具有三個例項的副本集。
建立資料資料夾
mkdir /srv/mongodb/data/rs0-0
mkdir /srv/mongodb/data/rs0-1
mkdir /srv/mongodb/data/rs0-2
啟動 mongod 例項
mongod --port 27017 --dbpath /srv/mongodb/data/rs0-0 --replSet rs0
mongod --port 27018 --dbpath /srv/mongodb/data/rs0-1 --replSet rs0
mongod --port 27019 --dbpath /srv/mongodb/data/rs0-2 --replSet rs0
配置副本集
mongo --port 27017 // connection to the instance 27017
rs.initiate(); // initilization of replica set on the 1st node
rs.add("<hostname>:27018") // adding a 2nd node
rs.add("<hostname>:27019") // adding a 3rd node
測試你的設定
要檢查配置型別 rs.status()
,結果應該是:
{
"set" : "rs0",
"date" : ISODate("2016-09-01T12:34:24.968Z"),
"myState" : 1,
"term" : NumberLong(4),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "<hostname>:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
...........................
},
{
"_id" : 1,
"name" : "<hostname>:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
...........................
},
{
"_id" : 2,
"name" : "<hostname>:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
...........................
}
],
"ok" : 1
}