mongod Configserver是否还包含数据(元数据除外)?

时间:2015-12-21 16:33:16

标签: mongodb architecture nosql

我开始使用MongoDB,但无法找到问题的答案。 出于测试目的,我想创建一个3 Datanode群集,但到目前为止,我不确定需要多少台机器来启动具有3个Datanode的群集。我想在群集中有2个路由服务器。

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

  1. 计算机(配置服务器和路由服务器):运行mongod --configsrvmongos
  2. 计算机(分片和路由服务器):运行mongodmongos
  3. 计算机(分片):仅运行mongod
  4. 计算机(分片):仅运行mongod
  5. 所以我认为mongod --configsrv不能同时成为一个分片?

1 个答案:

答案 0 :(得分:1)

在MongoDB中,配置服务器将存储分片集群的元数据以外的任何数据。如果手动连接到配置服务器并尝试写入数据,则会出现此错误:

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

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