【发布时间】:2016-06-24 12:52:57
【问题描述】:
我有一个运行 1 个主节点和 4 个辅助节点的 Replicaset。 新添加的两个辅助节点在 show databases 命令上给我一个错误。
replicaset:SECONDARY> 使用管理员
切换到数据库管理员
replicaset:SECONDARY> 显示数据库
listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not > master" } at src/mongo/shell/mongo.js:47
rs.status() 对于辅助节点来说一切正常。健康 1,状态 2。
rs.conf() 有(当然除了主机/端口)不同:
在较旧的辅助节点上使用命令只会返回: _id、主机和优先级。
较新的次级具有: _id、host、arbiterOnly、buildIndexes、hidden、priority、tags、slaveDelay、votes 和一个完整的设置节点:chainingAllowed、heartbeatTimeoutSecs、getLastErrorModes、getLastErrorDefaults。 很奇怪,因为使用 rs.add(host:port) 以相同的方式添加成员。
db.version(): - 较旧的中学和小学:2.6.5 - 较新的辅助节点:3.0.6
其他两个(较旧的)辅助服务器使用 Show Databases 命令完全没有问题。 它似乎与较新的 3.0.6 版本有关。 使用 db.SlaveOK 有助于 3.0.6。 ,但不能使用 mongodump.exe 作为参数给出。
知道如何在辅助节点上默认使用“显示数据库”命令吗?
【问题讨论】: