5

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

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

4

1 回答 1

5

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

简而言之,如果您使用的是 areplicaset并且想要使用导入数据,mongoimport那么您必须将primary节点作为主机传递给mongoimport命令。

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

于 2015-05-15T18:20:46.857 回答