У меня есть Replicaset, работающий с 1 первичным и 4 вторичными. Недавно добавленные два вторичных сервера выдают ошибку при выполнении команды show databases.
replicaset:SECONDARY> использовать администратора
переключился на админку бд
replicaset:SECONDARY> показать базы данных
Ошибка listDatabases: { "примечание": "из execCommand", "ok" : 0, "errmsg": "не > мастер" } в src/mongo/shell/mongo.js:47
rs.status() все в порядке для вторичных. Здоровье 1, состояние 2.
rs.conf() имеет (кроме хоста/порта, конечно) разницу:
Использование команды на более старых вторичных серверах возвращает только: _id, хост и приоритет.
Более новые вторичные узлы имеют: _id, host, arbiterOnly, buildIndexes, hidden, priority, tags, slaveDelay, voices и целый узел настроек с: chainingAllowed, heartbeatTimeoutSecs, getLastErrorModes, getLastErrorDefaults. Странно, потому что участники были добавлены таким же образом, используя rs.add(хост:порт).
db.version(): — Старые вторичные и первичные: 2.6.5 — Новые вторичные: 3.0.6
У двух других (старых) вторичных серверов вообще нет проблем с командой Show Databases. Кажется, это связано с более новой версией 3.0.6. Использование db.SlaveOK помогает на 3.0.6. , но не может быть задан в качестве параметра с помощью mongodump.exe.
Любая идея, как я могу использовать команду «Показать базы данных» по умолчанию на вторичных серверах?