MongoDB 2.6 Ubuntu 15.04’te başlamıyor


51

Ben MongoDB 2.6 yüklü temiz yüklü Ubuntu 15.04 tarih:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Sorunsuz bir şekilde bitti. Ancak, başlatmaya çalıştığımda aşağıdaki hatayı aldım:

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

Bunu nasıl düzeltebilirim?

Yanıtlar:


65

Debian Wheeze deposundan kurdum ve iyi çalışıyor.

Öncelikle, mongodb-org paketini ve tüm bağımlılıklarını kaldırdığınızdan emin olun:

sudo apt-get purge mongodb-org
sudo apt-get autoremove

Oluşturduğunuz eski mongodb.list'i kaldırın:

sudo rm /etc/apt/sources.list.d/mongodb.list

Bunun yerine Debian deposunu kullanın:

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

Güncelle ve tekrar yükle:

sudo apt-get update
sudo apt-get install -y mongodb-org

Bundan sonra, sunucuyu başarıyla başlatabilirsiniz:

sudo service mongod start

veya

systemctl start mongod

(Roman Gaufman'ın buradaki yorumuna cevap olarak Ernie Hershey tarafından açıklandığı gibi: https://jira.mongodb.org/browse/SERVER-17742 )


1
Bunu denedim ve mongod'u başlatmaya çalışırken bulunamadım.
Moshe Revah

2
Bağımlılıkları otomatik olarak üstlendiğinizden emin misiniz? Bunu ben de aldım, ancak sonra mongodb ile ilgili tüm paketleri kaldırmadığımın farkına vardım. Hepsini çıkardıktan ve wheezy deposundan yükledikten sonra, systemd ile iyi çalışıyor.
Dielson Satış

1
beni çok fazla başağrısından kurtardı
Srivathsa Harish Venkataramana

1
Teşekkür ederim. Tasfiye takibi autoremove (neredeyse unutuyordum) hile yaptı.
Nenad Vukiceviç

Benim durumumda 14.04 ama büyük olasılıkla 15.04 izlemede /var/log/syslog, başarısız girişimi onaylamak ve ardından düzenleme yapmak /etc/init/mongodb.confstandart olmayan bir veri dizini, günlük dizini veya kullanıcı örneği kullanıyorsanız da yardımcı olabilir.
yiyin

25

MongoDB ekibi 15.04 Ubuntu’yu desteklemeyeceklerini ve bunun yerine 16.04’ü desteklemeyi planladıklarını söyledi (bkz. Https://jira.mongodb.org/browse/SERVER-17742 ).

Ubuntu 15.04, varsayılan init sistemini Upstart'tan systemd'ye ilerletir. MongoDB 3.0'ı systemd ile başlatmakta başarılı olamadım.

Yükleyerek tekrar Upstart'a dönebilirsiniz upstart-sysv:

sudo apt-get install upstart-sysv

Sonra yeniden başlatma ve MongoDB kadar olmalıdır.

MongoDB’yi Ubuntu 15.04’de zaman içinde işleri değiştirmeden çalıştırmanın kolay bir yolunu bulmayı umuyorum.


2
Şimdilik bu sorunu çözmenin en iyi yolu budur. Başka yollarını bilen varsa, lütfen burada paylaş.
Fernando Kosh

Benim durumumda upstart-sysv kurulumu ve yeniden başlatılması sadece kilitleniyor.
Didac Montero

@DidacMontero Diğer seçenekler için wiki.ubuntu.com/SystemdForUpstartUsers adresini ziyaret edin
Moshe Revah

15.04'te Ubuntu'da benim için çalışıyor, çalışmalarınız için teşekkürler!
Lil 'Bits

bu benim için mükemmel çalıştı.
slimflem

4

Doğrudan mongodb.org adresinden yayınlanan paketlerden yüklüyorsunuz. Ubuntu reçetesinde verilen paketlerden kurulum yapıyor olmalısınız. Debian / Ubuntu paketleri, mongodb.org tarafından bırakılan boşluğu doldurmak için systemd servis birimleriyle birlikte yattı.

( mongodb.serviceWWW'de birim dosya sıkıntısı yok . Bir tane de yazmak zor değil.)

Özellikle: bulacaksınız böyle bir hizmet birimi içinde Ubuntu sürümü 15 için mongodb-sunucu sürümü 2.6 pakette . Yani sadece bu paketi yükleyin.

(Debian / Ubuntu tarafından sağlanan servis ünitelerinin , mongo tarafından önerilen sistem ve servis ünitesi direktiflerini uygulamadığını unutmayın .)

daha fazla okuma


Ancak bu yaklaşım MongoDB> = 3.0 isteyenler için sorunu
çözmüyor

Evet öyle. İkinci paragrafı ya da sonraki okumayı açıkça okumadınız.
JdeBP,

4

Ubuntu 15.04+ ve Mongo 3.0+ için işe yarayan bir Systemd betiği oluşturdum:

[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target

[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

https://gist.github.com/benileo/ada486d73f58dd93a0ee

Veri dizinini ayarladığınızdan emin olun. /etc/mongod.conf


1
Bu en iyi çözümdür.
J. Bruni

bağlantı artık çalışmıyor
Hotbelgo

Bağlantı düzeltildi.
benileo

Elbette, en iyi çözüm olarak işaretlenmelidir.
Wédney Yuri,

1

Bu en iyi cevap değil mi? Yinelenen bir sorudan: https://askubuntu.com/a/694226/255468 @ sclausen


Bu sadece systemd için bir servis dosyası eksikliği. Kartik gibi başlangıçta geri dönmeye gerek yok veya https://docs.mongodb.org/manual/installation/ .

Aşağıdaki içeriğe sahip bir /lib/systemd/system/mongodb.service dosyası 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


1

"mongod" yerine "mongodb" kullanın

yani

sudo service mongodb start

sudo service mongodb stop

0

Bu cevapların birçoğu Mongo 3.0 ile ilgili olup, soru özellikle 2.6 hakkında sorulmuştur.

10gen'den Debian deposunu kullanarak 2.6'yı başarıyla kurdum. Bu Ubuntu 15.04 ile mükemmel çalışıyor gibi görünüyor.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org

Kaynak: MongoDB 2.6'nın Ubuntu 14.10, 14.04 ve 12.04 LTS'ye Kurulumu


0

Soru 2.6 ise. Unit mongod.service failed to loadUbuntu 15.04 sürümümde sürüm 3.0.6 için de aynı hatayı alıyordum . Sonunda, yukarıda Dielson Sales tarafından belirtilen aynı wheezy deposunu kullanarak çözüldü.

Kurulumdan sonra (@Dielson Sales tarafından detaylandırılan adımları takip ederek) yukarıdaki hata ile karşılaştı. İşte sonunda çözdüm.

A) Değişim mongodb varsayılan veri deposu dosyalarından / var / lib / mongodb için / veri / db

  • İlk önce new / data / db dizinini oluşturun sudo mkdir -p /data/db

  • Mongod.conf dosyasını açın sudo gedit /etc/mongod.confve "dbpath" satırını aşağıdaki gibi değiştirin

  • Değiştir DBPath = / var / lib / MongoDB İÇİN = / veri / db DBPath ve dosyayı kaydedin.

  • Sonra eski varsayılan / var / lib / mongodb silin

  • Şimdi mongod kullanıcısına ait tüm dizinleri / dosyaları oluşturmalıyız.

B) Öyleyse koş sudo chown -R mongodb:mongodb /data/db

Ve şimdi nihayet mongo ile başlayabilirim sudo service mongod start

Ve hizmetin çalıştığı chcek sudo systemctl status mongod - Aşağıdakine benzer bir mesaj göstermelidir.

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Blog postamdaki adımlarımı ayrıntılı olarak anlattım.


0

İlk önce, mongodb indir:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

ayıkla indir:

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

mongod'u (mongodb-linux-x86_64-3.0.6.tgz / bin / mongod) -dbpath özniteliği ile çalıştırın:

sudo ./mongod --dbpath /path/of/the/directory

Seçtiğiniz herhangi bir boş bir dizin olabilir

ve son olarak, mongo (mongodb-linux-x86_64-3.0.6.tgz / bin / mongo) komutunu çalıştırın.

./mongo

ubuntu 15'imde çalıştı :)

kötü ingilizcem için özür dilerim, Brezilya'da yaşıyorum


0

Aradıktan saatler geçtikten sonra, çözüm ubuntu'mu bu komutu kullanarak 15.04'ten 16.04'e yükseltmekti:

Aşama 1

sudo do-release-upgrade -d 

Birkaç dakika sürecek, bu yüzden panik yapmayın;

Adım 2

sudo apt-get purge mongodb-org 
sudo apt-get autoremove`  
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`  

Ve şimdi, mongodb'u kurun ama bu kaynağı kullanarak:

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

Aşama 3

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
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 mongodb-org
sudo service mongod status

Ve bu kadar.

Not: 'E: gibi bir hata alırsanız ilk satırda' deb 'yazın. . . mongodb-org-3.0.list dosyasında

Yapmanız gereken tek şey gedit kullanarak bu dosyaya girip cümlenin başında ve sonunda 'silmek.


Bu bölüm "ubuntu'mu 15.04'ten 16.04'e yükseltmek oldu ..." şu an için bir anlam ifade etmedi, çünkü 16.04 henüz yayınlanmadı.
clearkimura

1
@clearkimura Evet öyle. Eh, alfa. Ve her neyse, ikinci günlük Ubuntu 16.04 sürümü bilgisayarımda yüklü ve hiçbir sorun görmedim.
Star OS,

0

Ubuntu 15.04+, starttart yerine systemd kullanır . MongoDB'nin resmi kurulum kılavuzuyla başlayın . O zaman görevlilerini kullan mongod.service:

[Unit]
Description=High-performance, schema-free document-oriented database

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

İndirme, düzeltme eki, servis yükleme ve dir + izinleri ayarlama

$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ sudo cp mongod.service /lib/systemd/system/mongo.service
$ sudo mkdir -p /data/db
$ sudo chown -R mongodb:mongodb /data
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod

Hizmeti başlat

$ sudo systemctl start mongod

Servis durumunu kontrol et

$ sudo systemctl status mongod

0

Emrinizde bir yazım hatası yaptınız.

Bunun yerine kullanmayı deneyin: sudo service mongodb start

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.