Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB次要副本没有主副本中的集合_Mongodb_Replicaset - Fatal编程技术网

MongoDB次要副本没有主副本中的集合

MongoDB次要副本没有主副本中的集合,mongodb,replicaset,Mongodb,Replicaset,我在本地机器上设置了一个mongodb副本集,并在一个名为“adaptive db”的数据库中创建了两个集合。在mongo shell中,当我连接到主数据库并运行show dbs时,我可以看到并查询我的数据库“adaptive db” 然后我切换到secondary,运行rs.slaveOk(),希望看到在primary中创建的“adaptive db”也出现在secondary中,但我没有看到它 以下是我运行的命令: shell:bin user1$ ./mongo localhost:270

我在本地机器上设置了一个mongodb副本集,并在一个名为“adaptive db”的数据库中创建了两个集合。在mongo shell中,当我连接到主数据库并运行show dbs时,我可以看到并查询我的数据库“adaptive db”

然后我切换到secondary,运行rs.slaveOk(),希望看到在primary中创建的“adaptive db”也出现在secondary中,但我没有看到它

以下是我运行的命令:

shell:bin user1$ ./mongo localhost:27017
MongoDB shell version: 3.0.2
connecting to: localhost:27017/test
rs0:PRIMARY> show dbs
adaptive-db  0.125GB
local        0.281GB
rs0:PRIMARY> use adaptive-db
switched to db adaptive-db
rs0:PRIMARY> show collections
people
student
system.indexes
rs0:PRIMARY> db.people.find().count()
6003
rs0:PRIMARY> exit
bye


shell:bin user1$ ./mongo localhost:27018
MongoDB shell version: 3.0.2
connecting to: localhost:27018/test
rs0:SECONDARY> show dbs
2015-06-25T11:16:40.751-0400 E QUERY    Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" }
    at Error (<anonymous>)
    at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
    at shellHelper.show (src/mongo/shell/utils.js:630:33)
    at shellHelper (src/mongo/shell/utils.js:524:36)
    at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
rs0:SECONDARY> rs.slaveOk()
rs0:SECONDARY> show dbs
admin  0.031GB
local  0.281GB
rs0:SECONDARY> 

谢谢

我猜一点,但是从你看到的其他收藏来看,你在
本地
数据库中。顾名思义,它是不被复制的(它包含oplog、startup_log和其他类似的东西,这些东西是特定于实例的,如果被复制的话会变得一团糟)


使用不同的数据库。在控制台中连接到
127.0.0.1/somedb
(使用适当的IP/主机名),或使用
somedb
,以切换数据库。然后创建集合,这些集合应该被复制(当然,在我的示例中,复制到同名的数据库-
somedb

我猜一点,但从您看到的其他集合来看,您在
本地数据库中。顾名思义,它是不被复制的(它包含oplog、startup_log和其他类似的东西,这些东西是特定于实例的,如果被复制的话会变得一团糟)


使用不同的数据库。在控制台中连接到
127.0.0.1/somedb
(使用适当的IP/主机名),或使用
somedb
,以切换数据库。然后创建集合,这些集合应该被复制(当然,在我的示例中,复制到同名的数据库-
somedb

在辅助副本成员上运行命令
rs.slaveOk()
;这允许当前连接允许在辅助成员上运行读取操作

供参考:

在次副本成员上运行命令
rs.slaveOk()
;这允许当前连接允许在辅助成员上运行读取操作

供参考:

对于较新版本的MongoDB,在辅助数据库上运行命令
rs.secondaryOk()

对于较新版本的MongoDB,在辅助数据库上运行命令
rs.secondaryOk()

发布命令输出时,请使用代码格式。它使事情更具可读性。请在发布命令输出时使用代码格式。多亏了你的纠正,我把我的收藏移到了一个新的数据库,但它仍然不起作用。我已经用最新的命令序列更新了我的问题database@user1437795你的奴隶是最新的吗?
rs.status()
说什么?或者
rs.conf()
对于这个问题…更新:我最初在“local”数据库中拥有集合,然后使用:db.runCommand({renameCollection:“local.student”,改为:“adaptive db.student”})将其移动到自定义数据库中。但是,当我尝试创建一个全新的数据库,并在其中创建新的集合时,复制效果很好。所以,我想这和“重命名集合”有关。我用rs.conf()@user1437795回答了这个问题,这是有道理的。如果创建一个未被复制的集合,然后重命名数据库,则复制rename命令将导致在从属服务器上执行无效操作(因为没有可重命名的内容)。可能日志中甚至会出现错误/警告。如果不是,您可能应该将其作为MongoDB bug()归档。我甚至会说,让您在replicaSet上从/重命名到本地数据库是一个bug。。。但我并没有深入到mongo设计中去,不知道是否有原因。感谢您的纠正,我将我的收藏移到了一个新的数据库中,但它仍然不起作用。我已经用最新的命令序列更新了我的问题database@user1437795你的奴隶是最新的吗?
rs.status()
说什么?或者
rs.conf()
对于这个问题…更新:我最初在“local”数据库中拥有集合,然后使用:db.runCommand({renameCollection:“local.student”,改为:“adaptive db.student”})将其移动到自定义数据库中。但是,当我尝试创建一个全新的数据库,并在其中创建新的集合时,复制效果很好。所以,我想这和“重命名集合”有关。我用rs.conf()@user1437795回答了这个问题,这是有道理的。如果创建一个未被复制的集合,然后重命名数据库,则复制rename命令将导致在从属服务器上执行无效操作(因为没有可重命名的内容)。可能日志中甚至会出现错误/警告。如果不是,您可能应该将其作为MongoDB bug()归档。我甚至会说,让您在replicaSet上从/重命名到本地数据库是一个bug。。。但我对mongo设计并没有深入了解,不知道是否有原因。
rs0:SECONDARY> rs.conf()
{
    "_id" : "rs0",
    "version" : 7,
    "members" : [
        {
            "_id" : 0,
            "host" : "localhost:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        },
        {
            "_id" : 1,
            "host" : "localhost:27018",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        },
        {
            "_id" : 2,
            "host" : "localhost:27019",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : 0,
            "votes" : 1
        }
    ],
    "settings" : {
        "chainingAllowed" : true,
        "heartbeatTimeoutSecs" : 10,
        "getLastErrorModes" : {

        },
        "getLastErrorDefaults" : {
            "w" : 1,
            "wtimeout" : 0
        }
    }
}