2015-12-21 64 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臺機器。