91 votes

SocketException : Adresse déjà utilisée MONGODB

J'ai trouvé cette erreur en essayant d'exécuter mongodb. Je l'installe via homebrew. Merci de m'aider

Agungs-MacBook-Pro:~ agungmahaputra$ mongod
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] MongoDB starting : pid=5189 port=27017 dbpath=/data/db 64-bit host=Agungs-MacBook-Pro.local
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] db version v3.6.0
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] git version: a57d8e71e6998a2d0afde7edc11bd23e5661c915
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2n  7 Dec 2017
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] allocator: system
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] modules: none
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] build environment:
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten]     distarch: x86_64
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten]     target_arch: x86_64
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] options: {}
2017-12-26T15:31:15.911+0700 E STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] now exiting
2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] shutting down with code:48
Agungs-MacBook-Pro:~ agungmahaputra$

5voto

jtvdw Points 67

Après avoir exécuté les commandes ci-dessous :

sudo lsof -iTCP -sTCP:LISTEN -n -P

Recherchez mongod COMMAND, son PID et son type,

sudo kill <mongo_command_pid>

Et en redémarrant mongod, il échoue toujours avec la même erreur "SocketException : Address already in use MONGODB".

Le serveur a été redémarré hier et c'est ce qui s'est produit.

5voto

bisma Points 31

Tout d'abord, arrêtez le serveur en cours d'exécution à l'aide de la commande

mongod --shutdown

Ensuite, courez :

sudo mongod

4voto

Khushwant kodecha Points 111

Un seul ordre

sudo pkill -f mongod

2voto

Assurez-vous que l'erreur provient du port, si vous utilisez macos catalina il y a un problème signalé pour ~/data/db qui cause également ce problème.

2voto

IlsonMarins Points 21

Si votre processus mongod est déjà arrêté, supprimez simplement le fichier .sock dans /tmp :

Mon mongod est déjà en panne, il n'apparaît donc pas :

lsof -iTCP -sTCP:LISTEN -n -P

L'erreur était la suivante :

[root@ol7db19c1 ~]# mongod -f /etc/csrs_2.conf
about to fork child process, waiting until server is ready for connections.
forked process: 6721
ERROR: child process failed, exited with error number 48
To see additional information in this output, start without the "--fork" option.

Dans le fichier journal (/var/mongodb/db/csrs2.log) :

2020-07-05T16:03:59.354-0300 E  STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use

Recherchez donc le verrouillage de la douille :

ls -ltra /tmp|grep .sock

Il suffit de le supprimer (avec prudence dans un environnement de production) :

rm -f mongodb-26002.sock

Bonne chance !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X