2017-01-12 2 views
0

Ich konnte nicht auf die Replikation erstellen, das heißt rs.initiate(), wenn oplog wurde Standardwert. Mein Server verfügte über 400 GB Speicherplatz. In MongoDB offiziellen Dokumentation default range für MMAP ist 5% freier Speicherplatz zwischen 990MB bis 50GB aber here unter Memory Use: -kann nicht mongod Server mit Standard-oplog Größe starten, während die Replikation versucht

Mit MMAPv1 verwendet MongoDB automatisch alle freien Speicher auf der Maschine als Cache.

Fehler auf der Konsole während Sie rs.initiate() nach mongod ohne oplog Größe Optionen Start:

mmap mit aus dem Speicher fehlgeschlagen

"errmsg": „konnte nicht initiieren : Datei /data/0/local.7 offen/create „

, begann ich mit --oplogSize 4096 erst nach dem i rs So in createPrivateMap (weitere Informationen schauen Sie in log) fehlgeschlagen mongod konnte tun .ini tiate. Jetzt kenne ich die Probleme mit kleinen oplog-Größen, aber ich möchte, was genau im Hintergrund passiert ist. 5% des freien Speicherplatzes oder 50 GB Obergrenze, auf jeden Fall waren auf meinem Server noch gute 300 GB verfügbar.

Antwort

0

Sie führen aus dem Speicher!
Ja, Mongo wird verwenden (eventuell) den gesamten Speicher, was verfügbar ist. Das Problem hier ist, dass mit der 5% -Regel das Erstellen dieser local.x-Datenbankdateien mehr Arbeitsspeicher erfordert, als Sie diesen Punkt (zeitlich) zur Verfügung hatten.

Mit oplogSize Parameter Sie begrenzt oplog auf kleinere Größe und dieser Punkt, den Sie genug Speicher hatte, um diese Dateien zu erstellen.

Parameter --smallfiles (storage.mmapv1.smallFiles) ist dein Freund diesen Fall.

+0

mit --smallfiles war entweder nicht helfen, nur wenn ich --oplog Größe zur Verfügung stellen es funktioniert. Wie viel Speicher wird Ihrer Meinung nach verwendet und wie überprüft man das? Wie erwähnt, gab es 400 + GB freien Speicherplatz. –

+0

Wie viel (wenig) Speicher hat Ihr Server? Ich habe nie Admin Mongo Server, die so wenig Speicher haben, dass es "nicht mehr genügend Arbeitsspeicher". Als Sie das --smallfiles prüften, hatten Sie leeres datadir? – JJussi

+0

Ich habe fast 400GB Speicherplatz in meinen Servern, aber mongodb begann nur mit 6GB oplog Größe. Ja, --smallfiles mit leerem Datadir, aber ohne oplog-Größe. Nur wenn ich eine oplog-Größe von 6GB oder darunter bereitstelle, funktionieren alle Konfigurationen. –

Verwandte Themen