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