我正在运行MongoDB 2.6.2,我有一个带有主要,辅助和仲裁的副本集。仅使用一个或两个副本集成员运行mongoimport命令是否有任何不利影响?
更具体地说,是否需要在mongoimport命令的--host选项中指定仲裁器?文档清楚地描述了主机名格式(here),但没有警告需要指定多少成员。
答案 0 :(得分:4)
mongoimport
命令应该在primary
主机上运行,因为这是一个插入操作,所有插入只能在主节点上完成。 Secondary
个节点无法直接接受写操作。在replicaset
中,主节点首先获取数据,然后secondary
个节点读取primary
节点oplog
并复制操作。
简单地说,如果您使用replicaset
并且希望使用mongoimport
导入数据,则必须将primary
节点作为主机传递给mongoimport
命令。
此外,mongoimport
命令并不关心arbiter
。所有它关心的是,它是否可以将数据写入节点。如果是replicaset
,则只能在primary
节点上插入数据。