web-dev-qa-db-fra.com

Meteor: code de sortie inattendu du mongo 100

Je viens d'installer Meteor version 0.5.9 (45fef52095) sur mon serveur CentOS version 6.3 (Final) (version Linux 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 le mercredi 19 décembre à 04:30:58 UTC 2012)

J'ai un partage Samba sur un serveur Windows SBS monté en tant que/mnt/apshared sous l'utilisateur Apache. J'ai créé un répertoire à l'intérieur de ce appelé "webmeteor". J'ai créé une application appelée "myapp" dans le répertoire "webmeteor". Mon répertoire ressemble donc à:/mnt/apshared/webmeteor/myapp.

Je suis connecté en tant que root. Lorsque j'essaie d'exécuter l'application à l'aide de la commande meteor, les messages d'erreur suivants s'affichent:

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.

Mon premier point d’appel était cette question de StackOverflow: Créer un nouveau fichier meteor.js et obtenir l’erreur 100, MongoDB n’est pas en mesure d’écrire - mais en suivant ces suggestions (Exécution de la commande meteor et recherche de disque 70 Go d’espace libre) n’a pas fonctionné. Je suis tout à fait certain que ces problèmes sont liés à la permission.

J'ai essayé de chown récursivement à root: root (car je suis connecté en tant que root), et chmod à 777 également, mais en vain.

Je vous demande, que dois-je essayer ensuite, pour permettre à mon application Meteor de démarrer?

Merci d'avance.

55
Aaron Cunnington

Il semble qu'une solution temporaire puisse être trouvée en exécutant météore à partir d'un répertoire qui ne se trouve pas dans le montage. Mongodb ne semble pas trop aimer les partages, vous devez donc configurer rsync pour copier périodiquement les fichiers de votre partage dans le répertoire où meteor est exécuté. 

Source: Problèmes pour exécuter des exemples dans Meteor

14
mmmeff

Utiliser meteor reset efface toutes les données de votre base de données. Si cela vous inquiète, accédez au dossier de votre projet.

cd /path/to/my/project

Ici, vous devez effacer le fichier mongodb.lock.

rm .meteor/local/db/mongodb.lock

Maintenant, vous pouvez exécuter Meteor en utilisant la commande,

meteor

88
Prashant

Supprimer ce fichier et ce dossier a fonctionné pour moi:

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

Le mien a finalement été corrigé en exécutant export LC_ALL=C. Trouvé l'erreur à travers les étapes de débogage suggérées dans ce post: https://stackoverflow.com/a/15752736/1820510

16
Xiv

Comme suggéré ailleurs, l'exécution de meteor reset a résolu le problème pour moi sous OS X.

AVERTISSEMENT: meteor reset efface tout ce qui se trouve dans votre base de données locale.

10
Jonatan Littke

Assurez-vous de disposer de suffisamment d'espace libre sur cette partition. Sinon, vous aurez cette erreur même.

5
Paul Sturm

C'est ce qui m'a aidé.

  1. J'ai supprimé .meteor/local/db/mongod.lock
  2. J'ai tué le processus mongod. Vous pouvez le trouver en utilisant "ps -ef | grep mongo"
5
Navan

J'exécutais météore sous Vagrant et je suis tombé sur ce problème. Avant de trouver ce fil, j'ai supprimé mes fichiers MongoDB de /var/lib/mongodb, car il y avait un .lock également. MongoDB réside peut-être à côté du dossier .meteor

3
Robert Forbes

ce bug se produisait à chaque fois que j'ai redémarré météore et

rm .meteor/local/db/mongod.lock

n'a pas fonctionné pour moi (je travaille sur l'IDE en ligne cloud9)

Je fais maintenant

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

et tout redevient normal sans effacer ma base de données

2
HammerGuy

J'ai eu le même problème sur Windows 8.1 x64: 'Code de sortie mongo inattendu 100. Redémarrage.' . Et 'météore reset' ou 'delete mongod.lock' ne l'ont pas résolu . Pour afficher les détails de l'erreur lors du lancement de mongod , j'ai ajouté un proc.stdout.on. function dans le fichier 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);
});

Puis j'ai eu l'erreur explicite:

*********************************************************************
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
*********************************************************************

L'erreur indique que le répertoire de base de données n'existe pas. Cependant, il existe ... Le problème était que j’avais un caractère spécial dans le chemin (accent é en mon nom). Je déplace le dossier de mon projet météore à un autre endroit du disque où le chemin est libre d’accent, et cela a bien fonctionné.

J'espère que ça va aider.

Le fichier run-mongo.js se trouve dans mon ordinateur à l'adresse suivante: C:\Utilisateurs\Pierre-André\AppData\Local \. Meteor\packages\meteor-tool\1.1.10\mt-os.windows. x86_32\tools\runners

N'oubliez pas de supprimer les 3 lignes après avoir résolu le problème, sinon vous aurez beaucoup de journaux de console à chaque chargement du projet.

2
pal

J'ai arrêté ma machine accidentellement, ce qui a entraîné le même problème. Aucune de ces options ne m'a aidé à supprimer le fichier .lock ou à lancer l'exportation LC_ALL = C etc. 
Je suis sur Ubuntu 15.04. J'ai commencé mongo avec l'option --dbpath pointant sur myApp/.meteor/local/db et les journaux de démarrage de mongo ont clairement indiqué que mongo tentait de restaurer la base de données à partir du journal/s dans le dossier du journal. Il cherchait un fichier local.1 qui n'existait pas. 

J'ai donc essayé mongo --recovery, qui indiquait en outre que cela ne fonctionnerait pas tant que je n'aurais pas le dossier journal. 
voici ce que j'ai fait
1. Suppression du dossier de journal (déplacé vers un autre emplacement - au cas où)
2. a couru le mongo --recovery (pas à 100% si cela a réellement fait quelque chose)
3. météore commencé
Et tout a commencé sans problème et devinez ce que j’avais toutes mes données comme prévu

1
avsdatta

premier

$ rm .meteor/local/db/mongodb.lock

si ça ne marche pas

sauvegarde comme vous pouvez

.meteor/local/db/meteor *

et

$ meteor reset

et restaurer

.meteor/local/db/meteor *

1
Dayd

Si vous recevez une notification avec quelque chose comme

Local folder has run out of space

Essayez d'aller à 

cd .meteor/local/bundler-cache/

et en supprimant tout dans ce répertoire. C'est un cache donc ça ne devrait pas affecter trop. Il semble se développer de manière incontrôlable parfois.

MODIFIER

Combinant toutes les autres réponses, essayez 

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

Si cela ne fonctionne toujours pas, vous devrez peut-être libérer de l'espace sur votre disque. Faites-le en vérifiant via

free -m

ou en regardant vos inodes et combien d'espace est utilisé via

df -h
1
Leon

Je suis tombé sur ce problème lorsque j'ai installé le nœud et météore dans mon nouvel ordinateur portable (Windows 10). Je n'ai apporté aucune modification aux installations par défaut.

La réinitialisation de Meteor ou la suppression de fichiers de .meteor/local/db ne fonctionnait pas pour moi car je créais de nouvelles applications à exécuter localement et le répertoire était vide. Donc, je pouvais les créer mais ils ne couraient pas. J'ai également essayé de créer des applications avec d'anciennes versions de météores, mais cela a également échoué.

Résolu dans mon cas en changeant le répertoire en c: \

cd c: \

météore créer testApp

Ce répertoire fonctionnait également avec les applications préexistantes que j'avais transférées depuis mon ordinateur. Je suppose que quelque chose à faire avec les systèmes de fichiers NFS, je suis nouveau dans tout cela, donc si quelqu'un peut expliquer plus à ce sujet, j'aimerais en savoir plus. C'est déjà frustrant de ne pas pouvoir utiliser tous les répertoires possibles pour stocker mes applications.

1
Yorgos Kakavas

Résolu! Dans mon cas, deleting meteor/local/db/mongodb.lock et meteor reset résolvent le problème. 

Merci a tous!

1
Nezir

Si vous avez installé Mongo globalement, assurez-vous de supprimer tous les fichiers pré-allloc du dossier/db/journal. 

Pour Ubuntu, le dossier/db/est normalement situé dans/data et le chemin complet est/data/db/journal. Cela pourrait être différent pour d'autres systèmes d'exploitation.

0
Timothy Nyota

Pour ceux qui utilisent bash sous Windows (sous-système Windows pour Linux/WSL), j'ai constaté que la création de l'application météore en dehors du répertoire/mnt permettait de résoudre le problème.

Lorsque je l’installe dans mon espace de travail dans/mnt/c/Workspace, il échoue à chaque fois . Mais une fois installé dans le répertoire personnel (~), il s’exécute pour la première fois . Voici l’image.

0
Yoshua Elmaryono

Je pourrais récupérer l'erreur en supprimant le verrou de la base de données locale Mogo.

Procédure pour supprimer le verrou de la base de données:

  1. Accédez au répertoire de votre application (où vous avez les fichiers de l'application Meteor)
  2. Supprimer le fichier $ rm .meteor/local/db/mongod.lock

Une erreur se produit si Meteor Application est toujours en cours d'exécution en arrière-plan. Le verrou de base de données n'est pas libéré par l'application en cours d'exécution ou en raison d'un arrêt incorrect du système/de l'application et n'est pas disponible pour la deuxième instance de la même application. Veillez donc à quitter l'application à chaque fois.

0
Fresher Developer

J'ai eu ce problème en utilisant Meteor 1.4 sur Windows 10. Cependant, je développe la même application Meteor sur une installation Ubuntu. Le problème pour moi était dû à des différences dans la manière dont Mongo 3.2 est implémenté sous Windows et Ubuntu. Mon installation Ubuntu 64 bits utilise WiredTiger. Cependant, comme il est dit dans Meteor documentation

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.

L'utilisation de meteor reset sous Windows a supprimé la base de données au format WiredTiger d'Ubuntu, puis l'a reconstruite à l'aide de l'ancien moteur MMAPV1. Cela a résolu l'erreur de code de sortie 100.

0
charlesdeb

J'ai eu le même problème, je l'ai résolu en changeant la propriété du dossier .meteor (où réside MongoDB)

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

J'espère aider quelqu'un!

0
Agus Arias

J'ai pu résoudre ce problème en exportant LC_ALL, j'utilise Ubuntu

exportation LC_ALL = "en_US.UTF-8"

0
Alex Fernandez

J'ai eu un problème similaire. Cela était dû au fait que le répertoire de mon projet faisait partie de ma Dropbox et que certains fichiers étaient en conflit dans le répertoire .meteor/local/db. Le fait de les supprimer a résolu le problème.

0
Luke Clifton

Je suis tombé sur ce problème lorsque j'ai installé le nœud et météore dans mon nouvel ordinateur portable (Windows 10). Je n'ai apporté aucune modification aux installations par défaut.

La réinitialisation de Meteor ou la suppression de fichiers de .meteor/local/db ne fonctionnait pas pour moi car je créais de nouvelles applications à exécuter localement et le répertoire était vide. Donc, je pouvais les créer mais ils ne couraient pas. J'ai également essayé de créer des applications avec d'anciennes versions de météores, mais cela a également échoué.

Résolu dans mon cas en changeant le répertoire en c: \

cd c:\ 

meteor create testApp

Ce répertoire fonctionnait également avec les applications préexistantes que j'avais transférées depuis mon ordinateur. Je suppose que quelque chose à faire avec les systèmes de fichiers NFS, je suis nouveau dans tout cela, donc si quelqu'un peut expliquer plus à ce sujet, j'aimerais en savoir plus. C'est déjà frustrant de ne pas pouvoir utiliser tous les répertoires possibles pour stocker mes applications.

0
Yorgos Kakavas