स्थानीय सर्वर को शुरू करने में असमर्थ


167

मैं mongodb के लिए नया हूँ .. जब मैंने mongodb स्थानीय सर्वर चलाने की कोशिश की, तो mongodयह चलाने में विफल रहा और इस त्रुटि को फेंक दिया।

/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations

Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten]   addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit: 

Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51     closeAllFiles() finished

Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now

मैंने mongod.lockफ़ाइल हटाने की कोशिश की ... मैं भाग गया mongod --repair.. मैंने mongod.lockफ़ाइल करने की अनुमतियां भी बदल दीं ।

लेकिन कुछ भी काम नहीं लगता है .. यह एक ही त्रुटि दिखाता है .. मुझे क्या करना चाहिए? '

मैं भी git संस्करण 1.7.4.1 स्थापित किया है, लेकिन यह त्रुटि में nogitversion दिखाता है ..


मेरे पास एक ही समस्या थी और इस समाधान ने मेरे लिए काम किया stackoverflow.com/questions/5798549/…
एडी

जवाबों:


176

प्रयत्न:

sudo service mongod stop
sudo mongod

वर्तमान सक्रिय मोंगॉडब सेवा को रोकने के लिए, फिर आपको एक नई शुरुआत करने की अनुमति देता है


1
मुझे भी सेवा संदेश मिला, लेकिन इसे अनदेखा करने का निर्णय लिया और "sudo mongod" के साथ फिर से शुरू करने का प्रयास किया और आखिरकार काम किया
kpierce8

2
क्या यह मोंगॉड (मोंगोडब नहीं) होना चाहिए? Docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/…
xavier

5
sudo service mongodb stopमेरे लिए Ubuntu 14.10 पर काम किया।
जो कॉर्नेल

1
ओएस एक्स पर कोई सेवा कमांड नहीं है। यदि आपके पास होमब्रे के माध्यम से मैंगो स्थापित है तो आप उपयोग कर सकते हैं brew services। ( unix.stackexchange.com/questions/155715/… के माध्यम से )
चार्ली स्टैनार्ड

1
@HarshaMV `काढ़ा सेवाएं रोकें <सूत्र>`
याकूब

149

-9 सिग्नल का उपयोग करके प्रक्रिया को न मारें क्योंकि इससे नुकसान होगा: http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendinganixixINTorterMsignal

sudo killall -15 mongodइसके बजाय उपयोग करें


2
यह मूल प्रश्न का उत्तर नहीं देता है।
ब्यू ग्रन्थम

8
killall mongodएक ही बात भी करता है। SIGTERM सिग्नल भेजने के लिए -15कहता killallहै, जो वह डिफ़ॉल्ट रूप से करता है।
टी ब्लैंक

4
वास्तव में एक हत्यारे ने वास्तव में सेवा को रोकने की कोशिश करने के बजाय मेरे लिए काम किया। तो, भले ही यह सवालों के जवाब नहीं देता है। यह उपयोगी था
एंड्रे पेना

59

एंड्रियास जंग:

"शनि जून 25 09:38:51 [initandlisten] सुनो (): बाँध () विफल नहीं है: 98 सॉकेट के लिए उपयोग में पहले से पता: 0.0.0.0:27017

स्वयं बोलने वाला है।

मोंगॉड का एक अन्य उदाहरण पहले से ही चल रहा है और MongoDB डिफ़ॉल्ट पोर्ट को आवंटित कर रहा है जो 27017 है।

या तो अन्य प्रक्रिया को मार डालो या एक अलग बंदरगाह का उपयोग करें। ”

इस स्थिति में, निम्न कमांड टाइप करें

ps wuax | grep mongo

आपको कुछ ऐसा दिखना चाहिए जो ऐसा दिखता है

User           31936   0.5 0.4 2719784 35624   ?? S     7:34pm   0:09.98 mongod
User           31945   0.0 0.0 2423368   184 s000 R+   8:24pm   0:00.00 grep mongo

अब मोंगॉड उदाहरण के लिए किल कमांड दर्ज करें (इस मामले में 31936):

kill 31936

29

Sat Jun 25 09:38:51 [initandlisten] सुनिए (): bind () विफल नहीं है: 98 पता सॉकेट के लिए पहले से ही उपयोग में है: 0.0.0.0:27017

स्वयं बोलने वाला है।

मोंगॉड का एक अन्य उदाहरण पहले से ही चल रहा है और MongoDB डिफ़ॉल्ट पोर्ट को आवंटित कर रहा है जो 27017 है।

या तो अन्य प्रक्रिया को मार डालो या एक अलग बंदरगाह का उपयोग करें।


47
यह आरंभ पृष्ठ पर पाया गया ... ** जब मोंगोडब ** को एप्टीट्यूड के माध्यम से स्थापित किया गया है तो यह पहले से ही चल रहा है (इसलिए उदाहरण में आपको इसे शुरू करने की आवश्यकता नहीं है)। तो बस टाइप करें: $ mongo .. क्योंकि मैं व्यक्तिगत रूप से mongod शुरू करता हूं और मैं क्विकस्टार्ट ट्यूटोरियल का अनुसरण कर रहा था .. मुझे पता था कि यह पहले से ही चल रहा था ...
sakthig

@ शक्ति: हाँ, यह पहले से ही मेरे लिए चल रहा है! मुझे लगता है मैं योग्यता के माध्यम से किया था। धन्यवाद!
sk8terboi87

29

नेटस्टैट से पता करें कि कौन सी प्रक्रिया मोंगोडब पोर्ट चला रही है (27017)

आदेश:

sudo netstat -tulpn | grep :27017

आउटपुट होगा:

tcp        0      0 0.0.0.0:27017           0.0.0.0:* 
LISTEN      6432/mongod

मेरे मामले में "6432" पिड है, यह आपके मामले में भिन्न हो सकता है। फिर निम्नलिखित कमांड का उपयोग करके उस प्रक्रिया को मारें:

sudo kill <pid>

बस!


25

उपयोग:

sudo killall mongod

यह सर्वर को बंद कर देगा।

फिर से पुनः आरंभ करें mongod:

sudo service mongod restart

यह काम करना चाहिए।


23

आपके पास पहले से ही एक प्रक्रिया चल रही है। आप इसे कमांड से मार सकते हैं:

killall mongod

15

आप करना चाहते हैं killall -15 mongodक्योंकि यह अभी भी चल रहा है Address already in use for socket: 0.0.0.0:27017:।

फिर आप mongodफिर से दौड़ सकते हैं ।


बस क्यों नहीं killall mongod?
दिमित्री जैतसेव

1
No matching processes belonging to you were found
रेट्रोवर्टिगो

तब मोंगॉड एक प्रक्रिया नहीं होनी चाहिए। हो सकता है कि पते का इस्तेमाल एक अलग प्रक्रिया द्वारा किया जा रहा हो
जॉन ओटलेनिप्स

7

यदि आप किसी मौजूदा चालू प्रक्रिया को नहीं ढूंढ सकते हैं या उन्हें काम नहीं कर रहे हैं तो एक अलग पोर्ट आज़माएं। उदाहरण के लिए, 27018 का प्रयास करें क्योंकि डिफ़ॉल्ट 27017 है।

mongod  --port 27018

मुझे यह आदेश के साथ मिला, mongod --help



6

किल -15 मोंगॉड / किलॉल मोंगॉड या तो आज़माएं इसके बाद भी अगर यह काम नहीं करता है तो निम्न कमांड sudo rm -rf / data / db sudo mkdir / data / db sudo chmod 777 / data / db टाइप करके db स्टोरेज फ़ोल्डर को हटा दें।


5

ओएस एक्स। गतिविधि मॉनिटर , मंगोल के लिए देखें , इसे पार करें। तो फिर से mongod चलाते हैं। समस्या सुलझ गयी।


ओपी ओएस को निर्दिष्ट नहीं करता है लेकिन लॉग फाइलें स्पष्ट रूप से लिनक्स को दर्शाती हैं।
निक निलोव

4

टर्मिनल खोलें और टाइप करें:

mkdir -p /data/db

फिर दर्ज करें:

mongod

3

मुझे एक ही समस्या थी कि मुझे मोंगॉड का एक नया उदाहरण खोलने की कोशिश की गई थी और यह कहा कि यह पहले से ही चल रहा था।

मैंने डॉक्स चेक किया और यह टाइप करने के लिए कहा

mongo
use admin
db.shutdownServer()

3

MongoDB शुरू करने में असमर्थ मुख्य रूप से अशुद्ध शटडाउन के कारण है। उपाय करने के लिए, mongod.lock फ़ाइल हटाएं। यह फ़ाइल डेटा फ़ोल्डर में स्थित है।

पता लगाएं कि आपका डेटा फ़ोल्डर mongodb.conf या mongod.conf फ़ाइल में कहाँ है। (लिनक्स सिस्टम पर / के तहत फ़ाइल की पुष्टि करें।)

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb

उदाहरण के लिए उपरोक्त कॉन्फ़िगरेशन का उपयोग करते हुए, फ़ाइल /var/lib/mongodb/mongod.lock पर है। बस इसे हटा दें और मोंगोडब को पुनरारंभ करें।


1
यह मेरे लिए एक से अधिक बार हुआ है, विशेषकर क्लाउड सर्वरों पर जो अनुत्तरदायी होने पर "हार्ड रीसेट" किया गया है। यह एक आसान फिक्स है और इसका एक शीर्ष उत्तर होना चाहिए।
सेवकप्रेम

2

मैंने उसी मुद्दे का सामना किया है। हालांकि mongodbसेवा नहीं चल रही है, लॉग ने address already in useसंदेश दिखाया ।

 $netstat -tulpn | grep :27017 

कुछ नहीं देता

आगे के विश्लेषण में पाया गया कि यह मुद्दा लॉक फाइल के कारण था। लॉक फ़ाइल को हटाने और इसे पुनरारंभ करने के बाद सेवा ठीक चल रही है।

$grep "dbpath" /etc/mongodb.conf

dbpath =/var/lib/mongodb

$ls /var/lib/mongodb/mongod.lock

$service mongod start

2

/Var/log/mongodb/mongod.log पर लॉग की जाँच करें और त्रुटि को कम करने का प्रयास करें। मेरे मामले में यह था

सॉकेट फ़ाइल /tmp/mongodb-27017.sock ग़लती से अनलिंक करने में विफल: 1 ऑपरेशन की अनुमति नहीं है

हटाए गए / tmp/mongodb-27017.sock और इसने काम किया।


1

प्रयत्न

/usr/lib/mongodb/mongod.exe --dbpath c: data \ db

--dppath (आपके db के पथ का अनुसरण करना चाहिए)


1

यह संभव हो सकता है कि सर्वर पहले से चल रहा हो। कृपया इसे जांचें कि कमांड मोंगो काम कर रहा है या नहीं।


1

Windows में समस्या को हल करने के लिए , निम्न चरण मेरे लिए काम करते हैं:

उदाहरण के लिए mongoDB संस्करण 3.6 स्थापित है, और MongoDB का इंस्टॉल पथ "D: \ Program Files \ MongoDB" है।

फ़ोल्डर D: \ mongodb \ लॉग्स बनाएँ, फिर इस फ़ोल्डर के अंदर फ़ाइल mongodb.log बनाएँ।

Cmd.exe को व्यवस्थापक के रूप में चलाएँ ,

D:\Program Files\MongoDB\Server\3.6\bin>taskkill /F /IM mongod.exe
D:\Program Files\MongoDB\Server\3.6\bin>mongod.exe --logpath D:\mongodb\logs\mongodb.log --logappend --dbpath D:\mongodb\data --directoryperdb --serviceName MongoDB --remove
D:\Program Files\MongoDB\Server\3.6\bin>mongod --logpath "D:\mongodb\logs\mongodb.log" --logappend --dbpath "D:\mongodb\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

इन दो फ़ाइलों को निकालें mongod.lockऔर storage.bsonफ़ोल्डर के नीचे "D: \ mongodb \ data"।

फिर net start MongoDBव्यवस्थापक विशेषाधिकार का उपयोग करके cmd में टाइप करें, समस्या हल हो जाएगी।


0

यह एरर लिसन (): बाइंड () फेलो को दिखाता है: 98 एड्रेस सॉकेट के लिए पहले से ही उपयोग में है: 0.0.0.0:27017 यानी 27017 एड्रेस पहले से ही किसी अन्य सेवा द्वारा उपयोग किया जा रहा है। कृपया इसे "netstat -apt | grep" 27017 "" कमांड द्वारा जांचें


0

(यदि आप linux का उपयोग कर रहे हैं,) यदि

mongod --shutdown --config=path/to/your/configFile.conf 

या

mongod --repair --config=path/to/your/configFile.conf 

समस्या को ठीक न करें, लॉगआउट और पुनः लॉगिन करें । इससे मेरी समस्या हल हो गई।

या आप टर्मिनल से मैन्युअल रूप से प्रक्रिया को मार सकते हैं, मुझे लगता है।


0

ऐसा लगता है कि जब आप LC_ALL वातावरण सेटिंग को याद कर रहे हैं तो वही त्रुटि लॉग में दिखाई गई है। यह भ्रामक है, लेकिन आप mongoक्लाइंट को यह देखने के लिए निष्पादित कर सकते हैं कि यह एक समस्या है।


0

अगर आप पहली बार मानगो दौड़ रहे हैं तो आप पहले रास्ता तय कर सकते हैं

mongod --dbpath <path to the directory>

0

हत्या की प्रक्रिया से मेरा मसला हल नहीं हुआ। मेरा मैक क्रैश हो गया था और कुछ लॉक फाइल्स (mongod.lock, WiredTiger.lock) को फिर से शुरू करने के लिए mongo dbPath में मौजूद थे। मैंने इन फ़ाइलों को अलग-अलग फ़ोल्डर में स्थानांतरित कर दिया (मैंने अधिक मुद्दों से बचने के लिए डिलीट नहीं किया) और फिर इसने काम किया। उत्तराधिकारी स्टार पर, मैंने स्थानांतरित लॉक फ़ाइलों को हटा दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.