我正在运行 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/