2015-12-21 163 views
0

我开始使用MongoDB并找不到问题的答案。 出于测试目的,我想创建一个3 Datanode集群,但到目前为止,我不确定有多少台机器需要启动3个Datanodes的集群。我想在集群中有2个路由服务器。mongod Configserver是否也包含数据(元数据除外)?

我目前的理解是我需要4台机器。

  1. 机(Configserver和Routingserver):运行mongod --configsrvmongos
  2. 机(碎片和Routingserver):运行mongodmongos
  3. 机(碎片):只运行mongod
  4. 机(碎片) :只所以运行mongod

在我看来mongod --configsrv不能是SHA rd在同一时间?

回答

1

在MongoDB中,配置服务器将为分片群集存储元数据以外的任何数据。如果您手动连接到配置服务器,并尝试写数据时,你得到这个错误:

WriteResult({ 
    "nInserted" : 0, 
    "writeError" : { 
      "code" : 14037, 
      "errmsg" : "can't create user databases on a --configsvr instance" 
    } 
}) 

关于,每个碎片应该在自己的机器上运行的服务器数量。由于您只有两个碎片,因此您可以使用两台机器,但是,4个碎片是可取的,因此您可以为这两个碎片设置一个主副副本。配置服务器和路由服务器可以在四台机器中的任何一台上运行,所以你只需要4台机器。

相关问题