7
votes

Impossible de démarrer MongoDb 3.0.2 Service sur Centos 7

Nous mettons en place un serveur MongoDB pour l'environnement de production sur l'instance d'Amazon EC2, mais je n'ai pas pu pouvoir démarrer le service. J'ai suivi Cette Documentation pour la configuration. Voici les étapes, j'ai suivies pour la configuration du serveur:

a ajouté suite à /etc/yum.repos.d/mongodb-org-3.repo code> p>

[deployer@prod-mongo ~]$ sudo systemctl status mongod.service

mongod.service - SYSV: Mongo is a scalable, document-oriented database.
   Loaded: loaded (/etc/rc.d/init.d/mongod)
   Active: failed (Result: exit-code) since Tue 2015-05-12 04:42:10 UTC; 42s ago
  Process: 22881 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)

May 11 04:42:10 ip-xx-xx-xx-xx.local runuser[22887]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
May 11 04:42:10 ip-xx-xx-xx-xx.localdomain runuser[22887]: pam_unix(runuser:session): session closed for user mongod
May 11 04:42:10 ip-xx-xx-xx-xx.local mongod[22881]: Starting mongod: [FAILED]
May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: mongod.service: control process exited, code=exited status=1
May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..
May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: Unit mongod.service entered failed state.


8 commentaires

Peut-être ce lien utile groups.google.com/forum/#!Topic / User Mongodb / FWPZEKFV7E4 .


Merci @achuth pour avoir pris le temps. Bien que j'ai déjà épuisé le lien que vous avez fourni, mais cela ne fonctionne pas non plus. En outre, cette solution est requise lorsque nous avons une petite taille de Journal . Mais nous avons eu 8 Go pour cela.


Voulez-vous poster les déclarations de Mongod.log. Démarrez-vous MongoDB comme racine ou autre?


Aucun journal n'est généré dans l'emplacement configuré I.E. /mongo/log/mongod.log


Peut-être que cela n'a pas créé à cause des autorisations. Vérifiez si l'utilisateur de Mongo a la permission d'accéder à cet emplacement (si pas en tant que root)


Oui, j'ai déjà mentionné cela dans la question à propos de la permission. Les emplacements sont accessibles et inscriptibles via Mongod utilisateur / groupe.


Vérifiez ce Jira.mongodb.org/browse/server-16219


Désolé @Abhayps, solution dans ce lien n'a pas fonctionné non plus.


3 Réponses :


7
votes

Je suppose que vous exécutez une saveur de Linux qui utilise Selinux (Rhel ou Centos 7, peut-être?)

Si tel est le cas, le problème est que vous n'avez pas de politique permissive sur votre annuaire / mongo / SERVICE MONGOD .)

de Wikipedia:

selinux peut potentiellement contrôler quelles activités un système permet à chaque Utilisateur, processus et démon, avec des spécifications très précises. Pourtant, Il est principalement utilisé pour confiner les démons [citation nécessaires] comme base de données moteurs ou serveurs Web qui ont un accès plus clairement défini de données et Droits d'activité. Cela limite le préjudice potentiel d'un démon confiné cela devient compromis. Les processus d'utilisateur ordinaires fonctionnent souvent dans le domaine non confiné, non limité par SELINUX mais restreint toujours par les droits d'accès Linux classiques

Pour vérifier si c'est le problème, essayez ceci à la coquille:

sudo setenforce 0

Ceci devrait désactiver les stratégies SELINUX et permettre au service de fonctionner.

Pour une solution plus permanente, voir https://wiki.ccentos.org/howtos/selinux --/ a>



1
votes

Si quelqu'un a rencontré le même problème avec Mongodb Startup, voici le thread of comments https: //jira.mongodb.org/browse/server-18439 . Ceci est prévu pour être corrigé dans 3.1 .


2 commentaires

Avez-vous eu ce travail? Le billet montre toujours comme non résolu et je rencontre un problème qui semble superficiellement similaire dans une instance assez propre Centos7.


Comme je l'ai mentionné dans la question, j'exécutais le Mongodb en utilisant le commandement depuis que le service ne fonctionnait pas. Après cela, nous n'avons pas mis à niveau le serveur ou le MongoDB. @Tzhx



3
votes

J'ai rencontré ce problème et j'ai trouvé une solution pour moi.

En bref, MongoDb 3.2 utilise l'utilisateur 'Mongod' tandis que les anciennes versions utilisent "MongoDB". Certains des fichiers et des annuaires appartenaient à «Mongodb» (l'utilisateur plus âgé). Une fois que j'ai chmod'd eux à l'utilisateur "Mongod", j'ai pu utiliser SystemCtL pour contrôler le processus Mongod.

Plus spécifiquement, il s'agissait de fichiers "/ var / logoodb / *". avait la mauvaise propriété de l'utilisateur. xxx

remarque que le propriétaire du répertoire est "Mongod" (le nouvel utilisateur) alors que les fichiers journaux sont tous appartenant à "MongoDB" (l'ancien utilisateur).


2 commentaires

Oh! correct. Cela pourrait être le problème mais je ne peux pas tester cela car je n'ai plus accès à ce serveur. Mais merci pour la mise à jour et l'heure. Cela aidera autre utilisateur.


J'ai fait sudo chown -r mongod: mongod / var / journal / mongodb et ça marche. Merci.