Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MongoDB-将复制设置为DocumentDB_Database_Mongodb_Amazon Web Services_Amazon Ec2_Aws Documentdb - Fatal编程技术网

Database MongoDB-将复制设置为DocumentDB

Database MongoDB-将复制设置为DocumentDB,database,mongodb,amazon-web-services,amazon-ec2,aws-documentdb,Database,Mongodb,Amazon Web Services,Amazon Ec2,Aws Documentdb,我们正在建立一个本地MongoDB集群——在本地,我们将有一个主节点和一个节点,我们希望在AWS中有另一个节点。是否可以将该节点作为DocumentDB服务而不是EC2 Instance 另外,我知道我必须有奇数个总节点,是否可以先添加一个节点,然后再添加另一个节点? 谢谢你,艾哈德 而且,我知道我的总节点数必须是奇数 在MongoDB副本集中,您可以拥有任意数量的节点。可以有一个2节点副本集,但实际上并不十分有用,因为单个节点不可用(例如,重新启动以进行维护)会使整个部署无法进行写入。如果您希

我们正在建立一个本地MongoDB集群——在本地,我们将有一个主节点和一个节点,我们希望在AWS中有另一个节点。是否可以将该节点作为DocumentDB服务而不是EC2 Instance

另外,我知道我必须有奇数个总节点,是否可以先添加一个节点,然后再添加另一个节点? 谢谢你,艾哈德

而且,我知道我的总节点数必须是奇数

在MongoDB副本集中,您可以拥有任意数量的节点。可以有一个2节点副本集,但实际上并不十分有用,因为单个节点不可用(例如,重新启动以进行维护)会使整个部署无法进行写入。如果您希望在某个地方有一个额外的副本(例如,用于从辅助位置进行地理位置接近的查询,或用于分析查询),则4节点副本集是一种可行的构造,但如果您只是为了冗余而这样做,则可能应坚持标准的3节点配置,并配置适当的备份

是否可以先添加一个节点,然后再添加另一个节点

您可以随时重新配置副本集

是否可以将该节点作为DocumentDB服务而不是EC2 Instance

不太可能。DocumentDB不是MongoDB。DocumentDB假装像MongoDB,但它1)假装是MongoDB的旧版本,2)即使如此,许多功能都不起作用,3)它与MongoDB的架构并不相同。因此,当您要求真正的MongoDB数据库与DocumentDB节点一起工作时,这可能不起作用


这假设您甚至可以以所需的方式配置DocumentDB—我怀疑这不可能从一开始。

不,不需要总节点数为奇数。但是,当节点数为偶数且一半的节点下降时,则副本集没有主节点,即,由于没有多数节点,因此无法写入任何内容。如果我有两个节点(1个主节点和1个辅助节点),而主节点下降,那么辅助节点不是多数节点吗?它不能为自己投票成为初选吗?不,二分之一不是多数。为此,您需要一位仲裁人。非常感谢您的回复!两件事。1-如果我有两个节点(1个主节点和1个次节点),并且主节点下降,那么次节点不是多数节点吗?难道它不能为自己投票成为主要政党吗?2-如果将节点添加到群集,是否需要重新启动主节点?主节点需要大多数节点处于运行状态。在2节点部署中,大多数是2节点。任何单个节点不可用都意味着您不能拥有主节点。不需要重新启动。