SocketException: adres al in gebruik MONGODB

ik vond deze fout bij het uitvoeren van mongodb. Ik installeer het via homebrew. Gelieve te helpen

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$

Antwoord 1, autoriteit 100%

Je hebt al een proces lopen in de poort 27017die wordt gebruikt door mongodb. Dus ofwel moet je het proces in die poort stoppen of proberen met een ander poortnummer.

Probeer mongod --port 27018

U kunt het poortnummer van uw keuze wijzigen.

BEWERKEN:

U kunt ook gewoon alle actieve instanties van de mongo-server stoppen met
sudo killall mongodzoals vermeld door @Dassi Orleando in de commentaren.
En voer mongod

uit


Antwoord 2, autoriteit 90%

Je kunt de vorige mongodinstantie doden en de nieuwe starten.

Als u de vorige mongod-instantie wilt uitschakelen, zoekt u eerst naar een lijst met taken die op uw computer worden uitgevoerd door te typen,

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

Zoek naar mongod COMMANDen zijn PIDen typ,

sudo kill <mongo_command_pid>

Start nu uw mongod-instantie door te typen,

mongod

U kunt zien dat MongoDB succesvol wordt uitgevoerd.


Antwoord 3, autoriteit 9%

Samenvatting overig(@Tony Roczz, @Balasubramani M) antwoord hier:

Hoofdoorzaak

fout: Failed to set up listener: SocketException: Address already in use

betekent:

  • hebben eerder mongodb uitgevoerd
    • waarschijnlijkgebruik standaardpoort 27017

Oplossing

(meestal) kill en herstart mongod

dood mongod

twee methoden:

  • gebruik killall
    • killall mongod
  • doden door PID
    • vind mongod PID
      • methode 1: ps aux | grep mongod
      • output kan er als volgt uitzien: limao 425 ... /usr/local/opt/mongodb-community/bin/mongod --config /usr/local/etc/mongod.conf
      • methode 2: lsof -iTCP -sTCP:LISTEN -n -P
      • uitvoer kan er als volgt uitzien: mongod 425 limao .. TCP 127.0.0.1:27017 (LISTEN)
    • kill door PID: kill -9 425

herstart mongod

  • meestal: mongod
  • een speciaal geval
    • brew services start mongodb-community
      • voor installatie van de communityversie op Mac door: brew install mongodb-community

(voor sommige mensen) draaien met een andere poort

  • uitvoeren met een andere poort: mongod --port 27018
    • alleenvoor degenen die meerdere mongod-servers tegelijkertijd willen gebruiken

Aanvullende opmerking

welke poort gebruikt de draaiende mongodb?

? lsof -iTCP -sTCP:LISTEN -n -P
COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mongod      425 limao   10u  IPv4 0xab744305e75263cf      0t0  TCP 127.0.0.1:27017 (LISTEN)

kan zien dat 27017de huidige MongoDB-poort is.

hoe te controleren / ervoor te zorgen dat mongod actief is

  • controleer de mongod-status:
    • ps aux | grep mongod
      • uitvoer kan mongod-service zien
    • brew services list
      • indien geïnstalleerd door brewen begin met brew

Antwoord 4, autoriteit 7%

als je mongodb versie 4.* gebruikt

in de standaardinstellingen moet er een “db”-map “/data/db” zijn met de benodigde rechten.

om het te controleren is de MongoDB-service gestart

brew services list

zo niet, ren dan

brew services start mongodb

voer mongouit in plaats van mongod


Antwoord 5, autoriteit 5%

Sluit eerst de actieve server af met:

mongod --shutdown

Voer vervolgens uit:

sudo mongod

Antwoord 6, autoriteit 5%

Ik heb het opgelost door de onderstaande opdracht in de opdrachtregel te plakken om de server van mongo te sluiten.

sudo pkill -f mongod

“sudo” (Super User Do) voert de opdracht admin-machtigingen uit, dus het zal u om uw gebruikerswachtwoord vragen


Antwoord 7, autoriteit 5%

Na het uitvoeren van deze onderstaande commando’s:

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

Zoek naar mongod COMMAND en zijn PID en type,

sudo kill <mongo_command_pid>

En bij het herstarten van mongod mislukt het nog steeds met dezelfde fout “SocketException: Adres al in gebruik MONGODB”.

Server is gisteren opnieuw opgestart en toen gebeurde dit.


Antwoord 8, autoriteit 2%

Zorg ervoor dat de fout van de poort is, als u macos catalina gebruikt, is er een gemeld probleem voor ~/data/db dat dit ook veroorzaakt.


Antwoord 9, autoriteit 2%

Alleen deze enkele opdracht

sudo pkill -f mongod


Antwoord 10, autoriteit 2%

Als je mongod-proces al niet werkt, verwijder dan gewoon het .sock-bestand in /tmp:

Mijn mongod is al down, dus verschijnt niet in:

lsof -iTCP -sTCP:LISTEN -n -P

De fout was:

[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.

In het logbestand (/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

Dus, zoek voor de socketvergrendeling:

ls -ltra /tmp|grep .sock

En verwijder het gewoon (doe het voorzichtig in de productieomgeving):

rm -f mongodb-26002.sock

Geluk!


Antwoord 11

Dit klinkt misschien voor de hand liggend, maar u moet controleren of mongodb al actief is.
Dus in plaats van eerst de DB te starten door het volgende uit te voeren:

sudo mongod

Probeer direct te rennen:

mongo

LEAVE A REPLY

Please enter your comment!
Please enter your name here

three × 1 =

Other episodes