MongoDB 3.0.2 tidak akan mulai setelah meningkatkan ke Ubuntu 15.10


14

Saya baru-baru ini ditingkatkan ke Ubuntu 15.10 setelah itu MongoDB 3.0.2 tidak dimulai.

$ sudo service mongod start

yang akan melempar kesalahan:

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

Jawaban:


21

Hanya saja tidak ada file layanan untuk systemd. Tidak perlu kembali ke pemula seperti yang dilakukan Kartik atau menggunakan repositori yang berbeda dari yang dijelaskan di https://docs.mongodb.org/manual/installation/ .

Buat file /lib/systemd/system/mongodb.servicedengan konten berikut:

[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

Lihat juga catatan di askubuntu.com/a/617869/43344 .
JdeBP

Saya akan menambahkan bahwa Anda perlu mengawasi kepemilikan file pada direktori data, kunci tmp fs dan file log. Saya mengotak-atik agar ini berfungsi dan sudo service...diam-diam gagal karena masalah izin
Hotbelgo

4
untuk beberapa alasan file konfigurasi default dipanggil /etc/mongod.confdan tidak/etc/mongodb.conf
mightyuhu

1
@mightyuhu benar, tanpa jalur yang benar didefinisikan saya mendapatkan kegagalan. dengan jalur yang benar saya tidak mendapatkan kegagalan.
user1063287

2
Terima kasih! Ini adalah jawaban yang benar. Satu hal kecil: nama layanan seharusnya mongodkarena ini adalah apa yang mereka gunakan di situs resmi mereka. Jadi mongodb.confharus mongod.conf dan nama file harus/lib/systemd/system/mongod.service
caisah

12

Kesalahan ini terjadi karena masalah dengan Ubuntu baru (15 dan lebih baru).

Sistem init default adalah systemd yang sebelumnya Upstart . Jadi Anda perlu menginstal Upstart, reboot sistem Anda dan di sini Anda pergi, Anda sekarang dapat menjalankan layanan mongodb.

  • Instal Pemula

sudo apt-get install upstart-sysv

  • Mulai ulang sistem Anda

sudo service mongod start

mongod start/running, process 3371


1
Nama layanan sekarangmongodb
sowrov

@sowrov, tidak, nama layanan terbaru masih 'mongod'
Clay Ferguson

1
setelah menginstal pemula-sysv, dan me-reboot ubuntu 16.04 saya menjadi kosong; Saya harus pergi dalam pemulihan dan apt-get menghapusnya. Utas ini mungkin berguna jika Anda ingin tetap menggunakan askubuntu.com/questions/760615/…
jrgd

5

Saya menggunakan paket debian di ubuntu 15.10

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

Saya memiliki masalah serupa setelah memutakhirkan ke 15.10.

Mungkin ada banyak masalah tetapi tergantung pada apa yang menyebabkan masalah Anda, Anda mungkin bisa menjalankan mongodb melalui init.d:

sudo /etc/init.d/mongodb start

Itu bekerja untuk saya, tetapi bukan solusi jangka panjang karena Anda harus menjalankannya setelah setiap restart atau menambahkannya ke tugas startup Anda. Jadi saya mengikuti yang berikut:

1) membuat file layanan seperti yang dijelaskan oleh 'sclausen'.

2) memuat ulang layanan dengan menjalankan:

sudo systemctl daemon-reload

3) berlari sudo service mongodb start

4) Perintah dijalankan tanpa output. Jadi saya diuji dengan menjalankan mongodan mendapat kesalahan soket:

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) Melihat log tail -n 50 /var/log/mongodb/ dan menemukan kesalahan yang mendasarinya:

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) menghapus file socket yang bermasalah: sudo rm /tmp/mongodb-27017.sock seperti yang disarankan pada utas ini: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) menjalankan layanan: sudo service mongodb start

pada saat itu semuanya baik dan Bob kembali ke posisi yang seharusnya sebagai pamanku.


0

Dalam kasus saya, saya memiliki Ubuntu 16.04.1, saya menginstal MongoDB 3.2.11, dan saya mendapatkan kesalahan yang sama. Setelah beberapa kali pembersihan dan coba lagi, akhirnya berhasil "mengaktifkan" layanan:

systemctl enable mongod.service

Kemudian berhasil

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.