MongoDB 3.0.2, Ubuntu 15.10'a yükseltildikten sonra başlamıyor


14

Son zamanlarda Ubuntu 15.10'a geçtim ve bundan sonra MongoDB 3.0.2 başlamıyor.

$ sudo service mongod start

hangi hata atmak:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Yanıtlar:


21

Bu sadece systemd için bir hizmet dosyasının eksikliği. Kartik'in yaptığı gibi yeniden başlatmak için geri gitmeye veya https://docs.mongodb.org/manual/installation/ adresinde açıklanandan farklı bir depo kullanmaya gerek yoktur .

/lib/systemd/system/mongodb.serviceAşağıdaki içeriğe sahip bir dosya oluşturun :

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target


Veri dizini, tmp fs kilidi ve günlük dosyasının dosya sahipliğini dikkatle izlemeniz gerektiğini ekleyeceğim. Bu çalışmaya çalışırken uğraşıyordum ve sudo service...izin sorunları nedeniyle sessizce başarısız oldu
Hotbelgo

4
herhangi bir nedenle varsayılan yapılandırma dosyası çağrılır /etc/mongod.confve çağrılmaz/etc/mongodb.conf
mightyuhu

1
@mightyuhu doğrudur, doğru yol tanımlanmadan başarısız olurum. doğru yolla başarısız olmuyorum.
user1063287

2
Teşekkürler! Bu doğru cevap. Küçük bir şey: hizmet adı mongod, resmi sitelerinde kullandıkları şey olduğu için olmalıdır . Yani mongodb.confolmalı mongod.conf ve dosya adı olmalıdır/lib/systemd/system/mongod.service
caisah

12

Bu hata, yeni Ubuntu (15 ve sonrası) ile ilgili sorun nedeniyle oluştu.

Varsayılan init sistemi olup systemd hangi Sonradan görme önceden. Bu yüzden Upstart'ı yüklemeniz, sisteminizi yeniden başlatmanız gerekiyor ve işte şimdi, mongodb servisini çalıştırabilirsiniz.

  • Upstart'ı Yükle

sudo apt-get install upstart-sysv

  • Sisteminizi yeniden başlatın

sudo service mongod start

mongod start/running, process 3371


1
Hizmet adı şimdimongodb
sowrov

@sowrov, hayır, en son hizmet adı hala 'mongod'
Clay Ferguson

1
upstart-sysv yükledikten ve benim ubuntu 16.04 yeniden başlattıktan sonra boş gitti; Kurtarma ve apt-get kaldırmak zorunda kaldı. Bu başlamayı
jrgd

5

Ubuntu 15.10'da debian paketini kullandım

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

1

15.10'a geçtikten sonra benzer sorunlar yaşadım.

Çok fazla sorun olabilir, ancak sorunun nedenine bağlı olarak mongodb'unuzu init ile çalıştırabilirsiniz.

sudo /etc/init.d/mongodb start

Bu benim için çalıştı, ancak her yeniden başlatmadan sonra çalıştırmanız veya başlangıç ​​görevlerinize eklemeniz gerektiğinden uzun vadeli bir çözüm değil. Bu yüzden aşağıdakileri takip ettim:

1) 'sclausen' ile açıklandığı gibi hizmet dosyasını oluşturmak.

2) çalıştırarak hizmeti yeniden yükleyin:

sudo systemctl daemon-reload

3) koştu sudo service mongodb start

4) Komut çıktısız çalıştırıldı. Bu yüzden çalıştırarak test ettim mongove bir soket hatası aldım:

Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

5) Günlükleri inceledik tail -n 50 /var/log/mongodb/ ve temeldeki hatayı öğrendim:

2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

6) sorunlu soket dosyasını sildi: sudo rm /tmp/mongodb-27017.sock bu konuda önerildiği gibi: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) hizmeti yeniden koştu: sudo service mongodb start

o noktada her şey iyiydi ve Bob amcam olarak haklı pozisyonuna geri döndü.


0

Benim durumumda, Ubuntu 16.04.1 var, MongoDB 3.2.11'i kuruyordum ve aynı hatayı alıyordum. Birkaç temizlik ve tekrar denemeden sonra, sonunda hizmeti "etkinleştirmek" için çalıştı:

systemctl enable mongod.service

Sonra işe yaradı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.