mongodb - 副本集的 mongoimport 命令是否需要包括仲裁者在内的所有副本集成员?

标签 mongodb mongoimport replicaset

我正在运行 MongoDB 2.6.2,并且我有一个副本集,其中包含主要副本、次要副本和仲裁程序。仅对一个或两个副本集成员运行 mongoimport 命令是否有任何不利影响?

更具体地说,是否需要在 mongoimport 命令的 --host 选项中指定仲裁器?文档清楚地描述了主机名格式 ( here ),但没有警告需要指定多少成员。

最佳答案

mongoimport 命令应该在 primary 主机上运行,​​因为这是一个插入操作,所有插入只能在主节点上完成。 Secondary 节点不能直接接受写操作。在replicaset中,primary节点先获取数据,然后secondary节点读取primary节点的oplog并复制操作。

简单地说,如果您使用的是 replicaset 并且您希望使用 mongoimport 导入数据,那么您必须将 primary 节点作为主机传递给 mongoimport 命令。

此外,mongoimport 命令不关心 arbiter。它只关心是否可以将数据写入节点。在 replicaset 的情况下,您只能在 primary 节点上插入数据。

关于mongodb - 副本集的 mongoimport 命令是否需要包括仲裁者在内的所有副本集成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30265663/

相关文章:

json - 如何在远程服务器中进行 mongoimport

node.js - MongoDB 不会更新 testcafe 测试

java - mongo 无法连接到 [localhost/127.0.0.1 :27017]

javascript - 在 mongo $text 中转义反斜杠和双引号

node.js - MongoDB 连接字符串是否需要 ReplicaSet 中每个服务器的身份验证详细信息?

mongodb - 更新角色用户 : not authorized on admin to execute command

javascript - MongoDB:无法连接到新的副本集主服务器

mongodb - mongodb 文档大小限制会从 16MB 增加吗?

mongodb - 如何使用新 ID 的 mongoexport 和 mongoimport 集合但保持关系

json - 如何将json文件内容作为文档导入到mongodb?