6 Stimmen

Konvertieren Sie Schiedsrichter in Vollmitglied

Wir haben derzeit ein Replika-Set mit zwei vollständigen Mitgliedern und einem Schiedsrichter. Jetzt muss ich den Schiedsrichter befördern, um ein vollwertiges Mitglied zu werden. Wie gehe ich am einfachsten vor? Ich habe keine weiteren Server, mit denen ich spielen kann, also muss ich dies mit den vorhandenen Maschinen machen.

7voto

Charlie Page Punkte 251

Wenn ich dich richtig verstehe: Du möchtest deinen Schiedsrichter in einen vollständigen Mongo-Server auf der gleichen Hardware umwandeln. Das erste, worüber du nachdenken solltest, ist, ob die Hardware des Schiedsrichters die Datenbank unterstützen kann. Wenn der Schiedsrichter wesentlich weniger Hardware hat als die anderen 2 Knoten, wird das wahrscheinlich nicht gut enden. Viele Schiedsrichter werden auf Maschinen betrieben, die keine vollständige Datenbank unterstützen können.
Wenn du das tun möchtest, musst du die Maschine als vollständigen Knoten von Grund auf einrichten. Es gibt keine Möglichkeit, einen Schiedsrichter automatisch zu einem vollwertigen Mitglied zu befördern.

Um dies zu tun:
1) Zunächst muss der mongod-Prozess auf dem Schiedsrichter heruntergefahren werden. Dann möchtest du vielleicht das Datenverzeichnis überprüfen, um sicherzustellen, dass es die Daten halten kann, da es als Schiedsrichter keiner hatte
2) Verbinde dich mit dem Primärknoten über die Mongo-Shell. Du kannst db.isMaster() in der Shell verwenden, um zu prüfen, welcher Knoten der Primärknoten ist, wenn du unsicher bist.
3) Verwende rs.remove(""), um ihn aus dem Set zu entfernen.
4) Starte den neuen Mongo-Server. Stelle sicher, dass das Datenverzeichnis leer ist (es wird vom Replikatsatz kopieren). Der Befehl lautet ungefähr mongod --dbpath --replSet . Du hast möglicherweise andere Optionen, abhängig von deiner Konfiguration.
5) Führe auf dem Primärknoten rs.add() aus.
6) Rufe rs.conf() auf, um zu bestätigen, dass deine Konfiguration gut ist.

Als zusätzliche Anmerkung kannst du auch die Datenverzeichnisse zwischen dem neuen Knoten und dem Primärknoten mit rsync für die anfängliche Synchronisierung synchronisieren. Aber wenn deine Daten klein sind, wird es einfacher sein, wenn mongo es tut. Wenn du rsync verwenden musst, lies bitte die Dokumentation für alle Anforderungen nach.
http://docs.mongodb.org/manual/tutorial/expand-replica-set/

Wenn du weitere Fragen hast, lass es mich bitte wissen.

Beste Grüße,
Charlie

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X