Реплика MongoDB установлена на окнах, сталкивающихся с некоторыми основными проблемами
Я нахожусь в среде Windows 10. Я хотел бы реализовать набор реплик на MongoDB. Я сталкиваюсь с некоторыми проблемами..
Для этого я расскажу о многих уроках по реализации Windows Machine.
Я хочу создать набор реплик, состоящий из основного узла и другого узла, который будет реплицировать данные.
Моя структура такая:
- Папка установки: C:/Programs Files\MongoDb\Server\3.4\bin\
- Папка базы данных: C:/data/db
- Папка файла журнала: C:/data/log
- Конфиг: C:/data/mongod.cfg
Я определил службу с помощью этой команды:
sc.exe create MongoDB binPath = "\" C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe \ "--service --config = \" C: \ data \ mongod.cfg \ "" DisplayName = "MongoDB" start = "auto"
Я запустил службу с этой командой:
чистый старт mongodb
Работает успешно.
Однако сейчас у меня проблемы с репликацией. Что я сделал, чтобы настроить набор реплик:
- создайте три подпапки в папке данных с именами rs1, rs2, rs3, используя команду
mkdir \data\rs1 \data\rs1 \data\rs2
- Реализуйте Replset для репликации трех серверов.
Мои три команды запуска: 1. start mongod --replSet udd --logpath \data\rs1\1.log --dbpath \data\rs1 --port 27017 --smallfiles --oplogSize 64 2. запустить mongod --replSet udd --logpath \data\rs1\2.log --dbpath \data\rs2 --port 27018 --smallfiles --oplogSize 64 3. запустить mongod --replSet udd --logpath \data\rs1\3.log --dbpath \data\rs3 --port 27019 --smallfiles --oplogSize 64
С теми, кто работает, я могу напечатать mongo --port 27017
; это правильно подключается к 127.0.0.1:27017/
Теперь моя проблема в том, что ранее приглашение оболочки mongo говорило странно: PRIMARY>; но теперь это изменилось, чтобы сказать: udd: OTHER>
Пожалуйста, объясните мне, как я могу двигаться вперед с репликацией; любая помощь действительно ценится.
Мой rs.reconfig(config,{"force":true}) будет
udd:OTHER> config = {_id: "udd", members: [
... {_id: 0, host: "127.0.0.1:27017"},
... {_id: 1, host: "127.0.0.1:27018"},
... {_id: 2, host: "127.0.0.1:27019"}
... ]}
{
"_id" : "udd",
"members" : [
{
"_id" : 0,
"host" : "127.0.0.1:27017"
},
{
"_id" : 1,
"host" : "127.0.0.1:27018"
},
{
"_id" : 2,
"host" : "127.0.0.1:27019"
}
]
}
udd:OTHER> rs.reconfig(config,{"force":true})
{ "ok" : 1 }
udd:OTHER> rs.status()
{
"set" : "udd",
"date" : ISODate("2018-01-31T11:58:15.717Z"),
"myState" : 2,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"appliedOpTime" : {
"ts" : Timestamp(1517381781, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1517381781, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "127.0.0.1:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1506,
"optime" : {
"ts" : Timestamp(1517381781, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-01-31T06:56:21Z"),
"configVersion" : 37530,
"self" : true
},
{
"_id" : 1,
"name" : "127.0.0.1:27018",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-01-31T11:58:15.677Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "No connection could be made because the target machine actively refused it.",
"configVersion" : -1
},
{
"_id" : 2,
"name" : "127.0.0.1:27019",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-01-31T11:58:15.670Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "No connection could be made because the target machine actively refused it.",
"configVersion" : -1
}
],
"ok" : 1
}
udd:SECONDARY>
Теперь rs.conf() будет
udd:SECONDARY> rs.conf()
{
"_id" : "udd",
"version" : 37530,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "127.0.0.1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "127.0.0.1:27018",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "127.0.0.1:27019",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : 60000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5a715e56bff9fd66ea55b862")
}
}
udd:SECONDARY>
1 ответ
Очистить сообщение об ошибке: InvalidReplicaSetConfig
Все 3 представителя Mongod запущены, затем попробуйте:
rs.reconfig({force:true})
db.isMaster()