我正在运行 MongoDB 2.6.2,并且我有一个包含主要、次要和仲裁器的副本集。仅使用一两个副本集成员运行 mongoimport 命令是否有任何不利影响?
更具体地说,是否需要在 mongoimport 命令的 --host 选项中指定仲裁器?文档清楚地描述了主机名格式(此处),但没有警告需要指定多少成员。
我正在运行 MongoDB 2.6.2,并且我有一个包含主要、次要和仲裁器的副本集。仅使用一两个副本集成员运行 mongoimport 命令是否有任何不利影响?
更具体地说,是否需要在 mongoimport 命令的 --host 选项中指定仲裁器?文档清楚地描述了主机名格式(此处),但没有警告需要指定多少成员。
mongoimport
命令应该在primary
主机上运行,因为这是一个插入操作,所有插入只能在主节点上完成。Secondary
节点不能直接接受写操作。在 areplicaset
中,主节点首先获取数据,然后secondary
节点读取primary
节点oplog
并复制操作。
简而言之,如果您使用的是 areplicaset
并且想要使用导入数据,mongoimport
那么您必须将primary
节点作为主机传递给mongoimport
命令。
此外,mongoimport
命令不关心arbiter
. 它只关心它是否可以将数据写入节点。在 的情况下replicaset
,您只能在primary
节点上插入数据。