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 27017
die 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 mongod
zoals 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
- waarschijnlijkgebruik standaardpoort
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)
- methode 1:
- kill door PID:
kill -9 425
- vind mongod PID
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 installatie van de communityversie op Mac door:
(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 27017
de 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
- uitvoer kan
brew services list
- indien geïnstalleerd door
brew
en begin metbrew
- indien geïnstalleerd door
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