it-swarm.com.de

Meteor: unerwarteter Mongo-Exit-Code 100

Ich habe gerade die Meteor-Version 0.5.9 (45fef52095) auf meinem CentOS-Server der Version 6.3 (Final) installiert (Linux-Version 2.6.32-279.19.1.el6.i686 ([email protected]) (gcc Version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)) # 1 SMP Mi Dez 19 04:30:58 UTC 2012)

Ich habe eine Samba-Freigabe für einen Windows-SBS-Server, der als/mnt/apshared unter dem Apache-Benutzer angehängt ist. Ich habe ein Verzeichnis mit dem Namen 'webmeteor' erstellt. Ich habe eine App namens 'myapp' im 'webmeteor' -Verzeichnis erstellt. Mein Verzeichnis sieht also so aus:/mnt/apshared/webmeteor/myapp.

Ich bin als root angemeldet. Wenn ich versuche, die App mit dem Befehl meteor auszuführen, werden folgende Fehlermeldungen angezeigt:

Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod

MongoDB had an unspecified uncaught exception.
Check to make sure that MongoDB is able to write to its database directory.

Mein erster Aufruf war diese StackOverflow-Frage: Erstellen einer neuen meteor.js-Datei und Fehler 100, MongoDB kann nicht schreiben - jedoch diesen Vorschlägen folgend (Sudo'ing den Meteor-Befehl und Überprüfen auf Festplatte) Speicherplatz, von dem ich 70 GB frei habe) hat nicht funktioniert. Ich bin mir ziemlich sicher, dass diese Fragen auf Erlaubnis bezogen sind.

Ich habe versucht, chown rekursiv zu root: root (da ich als root angemeldet bin) und chmod bis 777 rekursiv auch, aber ohne Erfolg.

Ich frage Sie, was sollte ich als Nächstes versuchen, damit meine Meteor-App gestartet wird?

Danke im Voraus.

55

Es scheint, dass eine temporäre Lösung gefunden werden kann, indem der Meteor aus einem Verzeichnis ausgeführt wird, das sich nicht im Mount befindet. Mongodb scheint Freigaben nicht allzu freundlich zu machen, daher müssen Sie rsync so einrichten, dass die Dateien regelmäßig von Ihrer Freigabe in das Verzeichnis kopiert werden, in dem Meteor ausgeführt wird. 

Quelle: Probleme beim Ausführen von Beispielen in Meteor

14
mmmeff

Mit meteor reset werden alle Daten aus Ihrer Datenbank gelöscht. Wenn Sie sich darüber Sorgen machen, navigieren Sie zu Ihrem Projektordner.

cd /path/to/my/project

Hier müssen Sie die mongodb.lock-Datei löschen.

rm .meteor/local/db/mongodb.lock

Jetzt können Sie Meteor mit dem Befehl ausführen:

meteor

88
Prashant

Das Entfernen dieser Datei und dieses Ordners funktionierte für mich:

rm -rf .meteor/local/db/mongod.lock .meteor/local/db/journal/
39
gabrielstuff

Meine wurde am Ende durch Ausführen des Exports LC_ALL=C behoben. Fehler durch die in diesem Beitrag vorgeschlagenen Debugging-Schritte gefunden: https://stackoverflow.com/a/15752736/1820510

16
Xiv

Wie bereits an anderer Stelle vorgeschlagen, wurde das Problem mit meteor reset unter OS X behoben.

WARNUNG: meteor reset löscht alles in Ihrer lokalen Datenbank.

10
Jonatan Littke

Stellen Sie sicher, dass auf dieser Partition genügend freier Speicherplatz vorhanden ist. Wenn nicht, erhalten Sie diesen Fehler.

5
Paul Sturm

Das hat mir geholfen.

  1. Ich habe meteor/local/db/mongod.lock gelöscht
  2. Ich habe den Mongod-Prozess getötet. Sie finden dies mit "ps -ef | grep mongo"
5
Navan

Ich habe Meteor unter Vagrant ausgeführt und bin auf dieses Problem gestoßen. Bevor ich diesen Thread fand, entfernte ich meine MongoDB-Dateien aus /var/lib/mongodb, da dort ebenfalls ein .lock vorhanden war. Dies war möglicherweise nicht erforderlich, aber es lohnt sich, nach anderen Bereichen zu suchen MongoDB befindet sich möglicherweise neben dem Ordner .meteor

3
Robert Forbes

dieser Fehler trat bei jedem Neustart von Meteor und

rm .meteor/local/db/mongod.lock

hat für mich nicht funktioniert (ich arbeite an der cloud9-Online-IDE)

Mache ich jetzt

rm .meteor/local/db/mongod.lock .meteor/local/db/local.*

und alles wird wieder normal ohne meine Datenbank zu löschen

2
HammerGuy

Ich hatte das gleiche Problem unter Windows 8.1 x64: 'Unerwarteter Mongo-Exit-Code 100. Neustart.' . Und "meteor reset" oder "delete mongod.lock" lösten dies nicht. Um die Fehlerdetails beim Starten von mongod anzuzeigen, habe ich ein proc.stdout.on hinzugefügt Funktion in der Datei run-mongo.js:

// Let's not actually start a process if we yielded (eg during
// findMongoAndKillItDead) and we decided to stop in the middle (eg, because
// we're in multiple mode and another process exited).
if (stopped) return;

proc = spawnMongod(mongod_path, port, dbPath, replSetName);

// added this 3 lines just to debug 'Unexpected mongo exit code 100. Restarting.'
proc.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

Dann bekam ich den expliziten Fehler:

*********************************************************************
ERROR: dbpath (C:\Users\Pierre-André\Desktop\Pal\Meteor\simple-todos\.meteor\local\db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************

Der Fehler zeigt an, dass das Datenbankverzeichnis nicht vorhanden ist. Es existiert jedoch ... Das Problem war, dass ich einen Sonderzeichen im Pfad habe (Akzent é in meinem Namen). Ich verschiebe meinen Meteor-Projektordner an eine andere Stelle auf der Platte, deren Pfad frei von Akzenten ist, und der hat gut funktioniert.

Hoffe das wird helfen.

Die Datei run-mongo.js befindet sich auf meinem PC unter: C:\Benutzer\Pierre-André\AppData\Local\.meteor\packages\meteor-tool\1.1.10\mt-os.windows. x86_32\tools\runner

Vergessen Sie nicht, die 3 Zeilen zu löschen, nachdem Sie das Problem gelöst haben. Andernfalls stehen Ihnen bei jedem Laden des Projekts viele Konsolenprotokolle zur Verfügung.

2
pal

Ich hatte aus Versehen meine Maschine heruntergefahren, was zu demselben Problem führte. Keine der Optionen half, die .lock-Datei zu löschen oder den Export auszuführen. LC_ALL = C usw. 
Ich bin auf Ubuntu 15.04. Ich habe mongo mit der Option --dbpath gestartet, die auf myApp/.meteor/local/db verweist, und die mongo-Startprotokolle machten deutlich, dass mongo versuchte, die Datenbank aus dem/den Journal/s im Journalordner wiederherzustellen. Es wurde nach einer local.1-Datei gesucht, die nicht vorhanden war. 

Also habe ich Mongo - Recovery ausprobiert, der weiter zeigte, dass es nicht funktionieren wird, bis ich den Journalordner habe. 
hier ist was ich getan habe.
1. Der Journalordner wurde gelöscht (an einen anderen Ort verschoben - nur für den Fall)
2. lief den mongo - erholung (nicht 100% sicher, ob das tatsächlich etwas getan hat)
3. Meteor gestartet
Und es begann ohne Probleme und ich denke, ich hatte alle meine Daten wie erwartet

1
avsdatta

zuerst

$ rm meteor/local/db/mongodb.lock

wenn das nicht klappt

backup wie möglich

.meteor/local/db/meteor *

und

$ meteor reset

und wiederherstellen

.meteor/local/db/meteor *

1
Dayd

Wenn Sie eine Benachrichtigung mit so etwas erhalten

Local folder has run out of space

Versuchen Sie, zu gehen 

cd .meteor/local/bundler-cache/

und löschen Sie alles in diesem Verzeichnis. Es ist ein Cache, also sollte es nicht zu viel Auswirkungen haben. Es scheint manchmal unkontrolliert zu wachsen.

EDIT

Kombinieren Sie alle anderen Antworten 

rm -rf .meteor/local/db/mongod.lock .meteor/local/db/local.* .meteor/local/db/journal .meteor/local/bundler-cache/linker/

Wenn dies immer noch nicht funktioniert, müssen Sie möglicherweise etwas Speicherplatz auf Ihrer Festplatte freigeben. Überprüfen Sie dies über

free -m

oder schauen Sie sich Ihre Inodes an und wie viel Speicherplatz über verbraucht wird

df -h
1
Leon

Ich bin über dieses Problem gestolpert, als ich zum ersten Mal Knoten und Meteor in meinem neuen Laptop (Windows 10) installiert habe. Ich habe keine Änderungen an den Standardinstallationen vorgenommen.

Meteor Reset oder Entfernen von Dateien aus .Meteor/local/db funktionierte nicht für mich, da ich neue Apps erstellte, die lokal ausgeführt wurden und das Verzeichnis leer war. Also konnte ich sie schaffen, aber sie liefen nicht. Versuchte auch Apps mit älteren Meteor-Versionen zu erstellen, scheiterte auch.

Gelöst in meinem Fall durch Ändern des Verzeichnisses in c: \

cd c: \

meteor erstellen testApp

Dieses Verzeichnis funktionierte auch mit bereits vorhandenen Apps, die ich von meinem PC übertragen habe. Ich denke, etwas mit NFS-Dateisystemen zu tun. Ich bin neu in all dem. Wenn also jemand mehr darüber erklären kann, würde ich gerne mehr erfahren. Es ist schon frustrierend, dass ich nicht alle möglichen Verzeichnisse verwenden kann, um meine Apps zu speichern

1
Yorgos Kakavas

Gelöst! In meinem Fall beheben deleting meteor/local/db/mongodb.lock und meteor reset das Problem. 

Vielen Dank an alle!

1
Nezir

Wenn Sie Mongo global installiert haben, löschen Sie unbedingt alle Prealloc-Dateien im Ordner/db/journal. 

Unter Ubuntu befindet sich der Ordner/db/normalerweise in/data. Der vollständige Pfad lautet/data/db/journal. Dies kann bei anderen Betriebssystemen anders sein.

0
Timothy Nyota

Für diejenigen, die bash unter Windows (Windows-Subsystem für Linux/WSL) verwenden, stellte ich fest, dass das Erstellen der Meteor-App außerhalb des Verzeichnisses/mnt das Problem löst.

Wenn ich es in meinem Arbeitsbereich in/mnt/c/Workspace installiere, ist es jedes Mal fehlgeschlagen. Sobald ich es im Home-Verzeichnis (~) installiert habe, wird es das erste Mal ausgeführt. Hier ist das Bild.

0

Ich konnte den Fehler wiederherstellen, indem ich die lokale Mogo-Datenbanksperre lösche.

Schritte zum Entfernen der Datenbanksperre:

  1. Navigieren Sie zu Ihrem App-Verzeichnis (wo Sie Meteor-Anwendungsdateien haben).
  2. Entfernen Sie die Datei $ rm .meteor/local/db/mongod.lock

Fehler tritt auf, wenn Meteor Application noch im Hintergrund ausgeführt wird. Die Datenbanksperre wird von der laufenden Anwendung oder aufgrund eines fehlerhaften Herunterfahrens des Systems/der Anwendung nicht freigegeben und ist für die zweite Instanz derselben Anwendung nicht verfügbar. Achten Sie daher darauf, die Anwendung jedes Mal zu beenden.

0

Ich hatte dieses Problem bei der Verwendung von Meteor 1.4 unter Windows 10. Ich entwickle jedoch dieselbe Meteoranwendung auf einer Ubuntu-Installation. Das Problem für mich wurde durch Unterschiede in der Implementierung von Mongo 3.2 unter Windows und Ubuntu verursacht. Meine 64-Bit-Ubuntu-Installation verwendet WiredTiger. Wie es jedoch in der Meteor Dokumentation heißt: 

If you are using Windows or 32bit Linux, you can update your development
database to 3.2, however it will continue to use the MMAPv1 storage 
engine, as the 32bit MongoDB binary does not support WiredTiger.

Bei Verwendung von meteor reset unter Windows wurde die Datenbank des WiredTiger-Formats von Ubuntu entfernt und mit der alten MMAPV1-Engine neu erstellt. Der Fehler mit dem Exit-Code 100 wurde behoben.

0
charlesdeb

Ich hatte das gleiche Problem. Ich habe es gelöst.

cd path-to-meteor-app
Sudo chown -R youruser:yourgruop .meteor

Hoffe, jemandem zu helfen!

0
Agus Arias

Ich konnte es durch den Export von LC_ALL beheben, ich benutze Ubuntu

export LC_ALL = "de_US.UTF-8"

0
Alex Fernandez

Ich hatte ein ähnliches Problem. Das lag an der Tatsache, dass mein Projektverzeichnis Teil meiner Dropbox war und sich im Ordner .meteor/local/db einige Dateien befanden. Wenn Sie diese entfernen, wurde das Problem behoben.

0
Luke Clifton

Ich bin über dieses Problem gestolpert, als ich zum ersten Mal Knoten und Meteor in meinem neuen Laptop (Windows 10) installiert habe. Ich habe keine Änderungen an den Standardinstallationen vorgenommen.

Meteor Reset oder Entfernen von Dateien aus .Meteor/local/db funktionierte nicht für mich, da ich neue Apps erstellte, die lokal ausgeführt wurden und das Verzeichnis leer war. Also konnte ich sie schaffen, aber sie liefen nicht. Versuchte auch Apps mit älteren Meteor-Versionen zu erstellen, scheiterte auch.

Gelöst in meinem Fall durch Ändern des Verzeichnisses in c: \

cd c:\ 

meteor create testApp

Dieses Verzeichnis funktionierte auch mit bereits vorhandenen Apps, die ich von meinem PC übertragen habe. Ich denke, etwas mit NFS-Dateisystemen zu tun. Ich bin neu in all dem. Wenn also jemand mehr darüber erklären kann, würde ich gerne mehr erfahren. Es ist schon frustrierend, dass ich nicht alle möglichen Verzeichnisse verwenden kann, um meine Apps zu speichern

0
Yorgos Kakavas