MongoDB startet Sharding

MongoDB startet Sharding

Wenn ich einen einzelnen MongoDB-Server in einen Sharded-Cluster verschieben möchte, weiß ich, dass ich drei Konfigurationsserver benötige. Da wir alles auf einem einzigen EXSi-Server haben, möchte ich nur fragen, ob es wirklich die bevorzugte Methode ist, drei kleine Konfigurationsserver-VMs und zwei zusätzliche VMs für die MongoDB-Server einzurichten. Ist das sinnvoll, da das Betriebssystem auf dem Konfigurationsserver allein 300 MB RAM (oder so) verbraucht? Ist es eine gute Idee, stattdessen eine VM und drei Docker-Container für die Konfigurationsserver zu verwenden? Und sollte ich die MongoDB-Router auf den beiden Datenknoten oder auf dem Server installieren, auf dem sich die Konfigurationsserver befinden? Lassen Sie mich die Frage zusammenfassen: Wie viele VMs benötige ich wirklich mindestens für einen Sharded-MongoDB-Cluster?

Oder ist Ubuntu Snappy Core eine Option?

Antwort1

Wenn Sie einLaborumgebungSie können den Ressourcenverbrauch so weit einsparen, wie Sie möchten. Die Idee, Container/Docker zu verwenden, klingt vernünftig für einLaborumgebung(und sogar für eine Produktionsumgebung, sofern Sie die Container auf verschiedene physische Hosts verteilen).

DerDie Mindestanzahl an mongodProzessen für eine Sharded-Umgebung beträgt 9. 3 für den Konfigurationsreplikatsatz und 3 für jeden der (mindestens) 2 Replikatsätze im Shard.

„Verteilt“ bedeutet, dass es auf verschiedenen Maschinen ausgeführt werden kann, aber das ist nicht zwingend erforderlich. Sie könnten alle 9 Mongod-Prozesse auf einem einzigen physischen Host über verschiedene Ports ausführen ...

Die mongosRouterprozesse sollten so nah wie möglich an den Client-Apps ausgeführt werden. Das heißt, platzieren Sie mongosauf jeder VM einen mit einer Anwendung, die Mongo verwendet.

Schlussbemerkung. Bitte beachten Sie die Betonung aufLaborumgebung. Wenn Sie mit einem einzelnen ESXi-Knoten etwas anderes als eine Lernumgebung erstellen, müssen Sie Ihre Annahmen überprüfen.

verwandte Informationen