सर्वर 127.0.0.1 शैल / mongo.js से कनेक्ट नहीं हो सका


88

जब मैं अपने ubuntu में mongodb सेटअप करता हूं, तो मैं कोशिश करता हूं: / .मंगो यह त्रुटि दिखाता है:

 couldn't connect to server 127.0.0.1 shell/mongo.js

तो मै क्या कर सकता हूँ ,

धन्यवाद


आपने इसे कैसे स्थापित किया? क्या आपने एप्टीट्यूड का इस्तेमाल किया? क्या आपने तारबल को सीधे डाउनलोड किया?
ब्रायन मिग्लिसीसी

1
मेरे पास यह त्रुटि थी और यह इसलिए था क्योंकि ubuntu पर मैं mongodपहले नहीं चला था
कॉनर लीच

जवाबों:


124
  • मैन्युअल रूप से ताला हटा दें: sudo rm /var/lib/mongodb/mongod.lock
  • मरम्मत स्क्रिप्ट चलाएँ: sudo -u mongodb mongod -f /etc/mongodb.conf --repair

कृपया निम्नलिखित ध्यान दें:

  • आपको इस कमांड को मोंगोडब यूजर के रूप में चलाना होगा। यदि आप इसे रूट के रूप में चलाते हैं, तो रूट के पास / var / lib / mongodb / में फ़ाइलें होंगी और जो mongodb डेमन को चलाने के लिए आवश्यक हैं और इसलिए जब डेमॉन बाद में mongodb उपयोगकर्ता के रूप में चलने की कोशिश करता है, तो यह शुरू करने की अनुमति नहीं देगा। । उस स्थिति में आपको यह त्रुटि मिलेगी: लॉकफिलेपथ के लिए लॉक फ़ाइल खोलने / बनाने में असमर्थ: /var/lib/mongodb/mongod.lock इरनो: 13 अनुमति से वंचित, समाप्त।
  • उबंटू पर, आपको -f ध्वज का उपयोग करके कॉन्फ़िगरेशन फ़ाइल /etc/mongodb.conf निर्दिष्ट करना होगा। अन्यथा यह डेटा फ़ाइलों के लिए गलत स्थान पर दिखेगा और आपको निम्न त्रुटि दिखाई देगी: dbpath (/ data / db /) मौजूद नहीं है, समाप्त हो रही है।

बढ़िया लिंक। समस्या को बिल्कुल हल किया।
जकेट्रेंट

1
जवाब अब ऊपर है।
फीदी ने मोहम्मद जुमान

2
कैसे mongodb उपयोगकर्ता के रूप में चलाने के लिए?
user4951

बस अपने आप को मोंगोडब ग्रुप में जोड़ें: useradd -G mongodb fady अपने उपयोगकर्ता नाम के साथ फीडी बदलें।
फीदी मोहम्मद ओसमान

2
मुझे इस उत्तर की जानकारी और @boulder_ruby के उत्तर से दोनों का उपयोग करना होगा। ऐसा इसलिए क्योंकि मेरा '/ डेटा / डीबी /' गायब था। हो सकता है कि यह उत्तर पूर्ण होने के लिए यह एक अच्छा अपडेट हो।
फैब्रिकियो बुज़ेटो

32
sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

यहाँ सब है, कभी-कभी, इन ऑपरेशनों को करने के बाद मोंगो शुरू करने में थोड़ा समय लगता है।


अगर मैं `sudo -u mongodb mongod -f /etc/mongodb.conf --repair` यहाँ कोशिश करूँ तो मुझे क्या मिलेगा:Mon Aug 22 11:28:17.919 Can't specify both --journal and --repair options.
Aleksandrus

21

$ मंगोल चलाने की कोशिश कर रहा है

अगर आपको एन एरर जैसे

MongoDB shell version: 2.0.5
connecting to: test
Fri Jun  1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun  1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun  1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun  1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun  1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun  1 11:24:47 [initandlisten] options: {}
Fri Jun  1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun  1 11:24:47 dbexit: 
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun  1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun  1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun  1 11:24:47 dbexit: really exiting now

फिर आप एक बुनियादी स्टार्टअप त्रुटि में भाग लेते हैं जो बहुत आम है।

डिफ़ॉल्ट रूप से mongod अपनी डेटाबेस फ़ाइलों के लिए / डेटा / डीबी का उपयोग करने की कोशिश करेगा, जो इस मामले में मौजूद नहीं है।

आप शुरू नहीं कर सकते

mongo 

जब तक आप संभालेंगे

mongod.

उन निर्देशिकाओं को बनाने की कोशिश करें और सुनिश्चित करें कि वे उसी उपयोगकर्ता द्वारा लिखने योग्य हैं जो मोंगॉड प्रक्रिया चला रहा है।

** इसी तरह का प्रश्न देखें- एक त्रुटि, "त्रुटि: सर्वर से कनेक्ट नहीं हो सका 127.0.0.1 शैल / mongo.js" और जब मैक ऑस्को शेर पर मोंगोडब चलाने की कोशिश कर रहा है


आप dbpath को भी सेट कर सकते हैं जैसे: mongod --dbpath ../data
cbaigorri

20

यह वास्तव में एक त्रुटि नहीं है ... यहां क्या होता है कि मानगो स्थानीय डेटाबेस सर्वर को चलाने के लिए एक डेमॉन पर निर्भर करता है, इसलिए आपके शेल में मोंगो सर्वर को "फायर अप" करने के लिए , आपको मोंगो सेवा शुरू करनी होगी प्रथम।

के लिए फेडोरा लिनक्स (में है, जो Distro मैं उपयोग) आप इन आदेशों को चलाने के लिए है:

1 sudo service mongod start
2 mongo

आखिर तुमने इसे हासिल कर ही लिया है! सर्वर चलने वाला है। अब, यदि आप चाहते हैं कि जब सिस्टम बूट हो जाए तो Mongo सर्विस शुरू हो जाए तो आपको दौड़ना होगा:

sudo chkconfig --levels 235 mongod on

और बस यही! यदि आप ऐसा करते हैं, तो अब शेल में आपको सर्वर शुरू करने के लिए केवल मोंगो टाइप करना है, लेकिन यह बहुत ज्यादा है, समस्या यह है कि आपको पहले सर्विस शुरू करनी है और फिर सर्वर :)

PS मेरे द्वारा पोस्ट किए गए आदेश अन्य लाइनक्स डिस्ट्रोस पर भी काम कर सकते हैं, न कि केवल फेडोरा में ... यदि आप उपयोग कर रहे डिस्ट्रो के आधार पर कुछ शब्दों को ट्वीक नहीं करना चाहते हैं तो ;)


एक ही समाधान सवाल पर लागू होता है: stackoverflow.com/questions/7958228/…
Jmlevick

इसलिए कई बार मैं बहुत देर तक अपने सिर को हिलाता और खुजलाता हूँ, और आखिरकार महसूस करता हूँ: 'ओह, मुझे बस सूद देना है। "
बेन लेखक

2
और डेबियन / उबंटू वेरिएंट के लिए: sudo service mongodb start
ljs.dev

11

मुझे वही समस्या हुई जब मैंने मोंगो को स्थापित करने की कोशिश की। मुझे त्रुटि मिली,

त्रुटि

"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"

समाधान:

पहले mongod का उपयोग करके स्थापित करें:

sudo apt-get install mongodb-server

फिर टाइप करें

mongod --dbpath /mongo/db

फिर

sudo rm /var/lib/mongodb/mongod.lock

फिर

sudo -u mongodb mongod -f /etc/mongodb.conf  --repair

धन्यवाद


क्या यह विधि मोंगो में मौजूदा डेटाबेस को हटा देगी?
इवान

6

आपको लॉकफ़ाइल mongod.lockया /var/lib/mongodb/mongod.lockubuntu को हटाने की आवश्यकता है , फिर आपको पहले mongod.exeया service mongodb startubuntu पर चलाने की आवश्यकता है , फिर चलाने mongo.exeया mongoजुबांट पर।


ओपी उबंटू पर है, इसलिए मुझे पूरा यकीन है कि वे किसी भी .exeफाइल का उपयोग नहीं करेंगे ।
me_and

मुझे यह त्रुटि संदेश मिल रहा है, और मैं अपने फाइल सिस्टम पर "mongod.lock" नहीं ढूँढ सकता। क्या ये निर्देश मैक OSX पर लागू होते हैं?
boulder_ruby

5

या तो आपका मोंगॉड नहीं चल रहा है ("ps" कमांड का उपयोग करके जांच करें) या यह कुछ बाहरी आईपी पते पर सुन रहा है और स्थानीयहोस्ट पर नहीं। इसलिए पहले प्रक्रिया सूची की जांच करें कि क्या 'मोंगॉड' चल रहा है। यदि हाँ, तो संबंधित पोर्ट के लिए "netstat -nap" से जांचें।

बेशक, आप मैन्युअल रूप से कंसोल पर मोंगॉड शुरू कर सकते हैं या यहां तक ​​कि मोंगॉड लॉगफाइल में देख सकते हैं (यदि कोई कॉन्फ़िगर किया गया है ... आप मोंगॉड को कैसे स्थापित करते हैं इसके आधार पर)।


5

सबसे पहले आपको यह सुनिश्चित करना होगा कि आपके / var / lib / mongodb / folder (या जो भी फ़ोल्डर dbpath पॉइंट्स को) में सभी फाइलें और निर्देशिकाएं mongodb उपयोगकर्ता और mongodb समूह से संबंधित हैं।

cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory

(उनके नाम के साथ फ़ाइल नाम और निर्देशिका बदलें)

फिर आप लॉक को हटा सकते हैं, डेटाबेस की मरम्मत कर सकते हैं और डेमॉन को पुनः आरंभ कर सकते हैं जैसा कि अन्य लोग पहले ही उल्लेख कर चुके हैं:

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

कैसे इस के लिए कोई upvotes नहीं हैं? यह एकमात्र समाधान था, आधा दर्जन एसओ प्रविष्टियों में से जो मैंने देखा, मेरे लिए काम किया। धन्यवाद महोदय।
FRD

कॉन्फ़िगर फ़ाइल के साथ शुरू करने और एक मरम्मत को बल देने की कमान sudo -u mongodb mongod -f /etc/mongod.conf --repairउबंटू 14.
ओकोबोको

5

सबसे पहले अपने मोंगो सर्वर को शुरू करें

Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log

फिर एक और टर्मिनल विंडो खोलें और शेल खोलें

Users-MacBook-Pro:csv1 Admin$ mongo

2

यह भी जांचें कि आपके रूट विभाजन में मूंगोड शुरू करने के लिए पर्याप्त स्थान है।

df -h /

आप इस तरह लॉन्ग लॉन्च पर धमाल मचाएंगे:

Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit: 
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...


1

यह $ PATH और अनुमति मुद्दे का संयोजन हो सकता है।

नीचे दिए गए चरणों का पालन करने का प्रयास करें:

अपनी MongoDB बिन फ़ाइल को इंगित करने के लिए अपने $ PATH चर को अपडेट करें। मेरे मामले में काढ़ा इस फ़ोल्डर में MongoDB स्थापित करें:

/usr/local/Cellar/mongodb/2.4.6/

अपने $ PATH चर को अद्यतन करने के लिए, निम्नलिखित कार्य करें:

$ sudo vi /etc/paths

फिर, Vi में पाठ सम्मिलित करने के लिए 'i' दबाएं और अपने MongoDB पथ को 'पथ' फ़ाइल के अंत में संलग्न करें और टर्मिनल को पुनरारंभ करें।

/usr/local/Cellar/mongodb/2.4.6/bin

वी संपादक से बचाने और बाहर निकलने के लिए 'Esc: w q' का उपयोग करें।

अपने पथ चर को प्रदर्शित करने के लिए प्रतिध्वनि का उपयोग करें:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin

अब मानगो संस्करण की जांच करने का प्रयास करें, यदि आप निम्नलिखित कर रहे हैं, तो आप सही रास्ते पर हैं!

$ mongo --version
MongoDB shell version: 2.4.6

अब हमें डेटाबेस डायरेक्टरी बनाने की आवश्यकता है। मैंने MongoDB डॉक्स में सुझाए गए डिफ़ॉल्ट '/ डेटा / डीबी' स्थान का इस्तेमाल किया। मैंने किसी भी अनुमति के मुद्दों से बचने के लिए एक लॉग डायरेक्टरी भी बनाई जबकि मोंगो किसी भी लॉग को बनाने की कोशिश करता है। स्वामित्व बदलें और वह काम करेगा।

$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data

अब, हम MongoDB के लिए पहली बार 'mongod' कमांड चलाने के लिए एक डिफ़ॉल्ट कॉन्फिग फाइल बनाएंगे। अब, मैं यह भी बताना चाहूंगा कि 'मोंगॉड' एक सेवा शुरू करेगा, जो आने वाले डेटा कनेक्शनों के लिए सुनेगा। यह '$ सर्विस mysqld start' के समान है। आगे बढ़ो और कॉन्फिग फ़ाइल बनाएँ। कृपया ध्यान रखें कि मैंने बहुत ही बुनियादी विन्यास फाइल बनाई है। हालाँकि, आप MongoDB को कॉन्फ़िगर करने के लिए कई अन्य चर जोड़ सकते हैं। यह पहली बार है जब मैं MongoDB के साथ खेल रहा हूं, इसलिए मैं सिर्फ उतना ही जानता हूं जितना मैंने MongoDB डॉक्स पर पढ़ा था! मैंने 'mongodb.conf' बनाया।

$ sudo vi /etc/mongodb.conf

निम्नलिखित जोड़ें:

fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true

कृपया ध्यान दें कि MongoDB सर्वर के लिए डिफ़ॉल्ट पोर्ट 27017 है। आपके द्वारा चरण में बनाए गए dbpath और logpath के लिए अपने स्वयं के पथ का उपयोग करें - 5. फ़ाइल को बंद करने और सहेजने के लिए मत भूलना।

अब हम अपनी MongoDB सेवा शुरू करने के लिए पूरी तरह तैयार हैं। टर्मिनल के दो उदाहरण खोलें। टर्मिनल 1 में टाइप करें:

$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting

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

अब, टर्मिनल 2 प्रकार में, इसे कनेक्ट करने के लिए निम्नलिखित हैं:

$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>

चेतावनी को अनदेखा करें, लेकिन आप 'परीक्षण' डेटाबेस से सफलतापूर्वक जुड़े हुए हैं! ठंडा!

बस इतना ही। मैंने इस समाधान को लागू किया, जब मैंने पहली बार अपने मैक पर MongoDB की प्रतिलिपि स्थापित करने का प्रयास किया। देखें कि क्या यह आपकी मदद भी करता है।

विस्तृत पोस्ट के लिए आप यहां जा सकते हैं - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094

मुझे उम्मीद है यह मदद करेगा!

चीयर्स, चिन्मय


हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं।
रेडिम कोहलर

@ RadimKöhler, सिर के लिए धन्यवाद। मैंने जवाब सही दिया है। आशा है कि यह किसी की मदद करेगा। चीयर्स।
चिन्मय

1

मैंने निम्न चरणों का पालन करके ubuntu 12.04 पर इस समस्या को हल किया:
1) sudo rm / var / log / mongodb
2) sudo rm / var / lib / mongodb
3) मैंने मोंगो को हटा दिया और फिर इसे स्थापित कर दिया।
4: sudo service mongodb पुनरारंभ

और सब ठीक है

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