2012-04-09 12 views
14

Mam zainstalowany MongoDB i kiedy wpisując następujące polecenie Dostaję te wiadomościnie można ponownie uruchomić MongoDB na Ubuntu 11.04

[email protected]:~# service mongodb status  
mongodb stop/waiting 
[email protected]:~# service mongodb restart  
restart: Unknown instance:  
[email protected]:~# service mongodb stop  
stop: Unknown instance: 

chcę zrestartować mongodb.but stanie restart.

EDIT: oto /etc/mongodb.conf

dbpath =/var/lib/MongoDB logpath =/var/log/MongoDB/mongodb.log

logappend = true

bind_ip = 127.0.0.1
auth = true

+0

Jaki jest wynik polecenia 'service mongodb start'? –

+0

Czy możesz wkleić zawartość pliku /etc/mongodb.conf? – SeanNieuwoudt

+0

service mongodb start mongodb start/running, proces 9012 – Amila

Odpowiedz

11

Biorąc wyjście polecenia start, to zaczyna poprawnie. Kiedy masz włączony status, wydaje się, że został zatrzymany. Musisz zajrzeć do pliku logu:

/var/log/mongodb/mongodb.log 

To powie Ci, dlaczego zatrzymał się mongoł. Jest kilka prawdopodobnych przyczyn, ale bez zobaczenia tego wyniku trudno będzie definitywnie odpowiedzieć. Moje ogólne zalecenia:

  1. Nie używaj bind_ip - jest to zły pomysł w ogóle Update (2016): Usuwanie tego powodu problemy z bind_ip które spowodowały mnie do napisania tego z powrotem w 2012 roku zostały ustalone i w domyślnych pakietach jest już domyślnie włączony. Warto spróbować bez ustawienia jako etapu rozwiązywania problemów, ale nie jest to zły pomysł, aby go używać w ogóle.
  2. Sprawdź czegoś innego działa na porcie 27017
  3. Określ port wyraźnie w pliku mongodb.conf, nawet jeśli chcesz używać domyślnego

Wreszcie, przyjrzeć się tej odpowiedzi do jak ustalić uprawnienia do plików, na wszelki wypadek, że jest to problem (zwykle spowodowane przez uruchomiony jako root w pewnym momencie):

mongodb crashes after unexpected shutdown

+1

Uwaga: log /:/var/log/mongodb/mongod.log' – ZimSystem

+0

może być w twoim systemie, ale jeśli spojrzysz na wklejoną konfigurację z pytania, zauważysz, że logpath był wyraźnie ustawione tak, jak napisałem :) –

1

Wygląda Mongo jest w stanie wystartować z jakiegoś powodu. Oprócz sugestii już dostarczonych przez Adama.

  • Sprawdź, czy masz uprawnienia do zapisu w katalogu danych.
  • Sprawdź, czy masz uprawnienia do zapisu w katalogu/var/log.
  • Czy mongot działa jako root lub jako inny użytkownik? Sprawdź skrypt init dla mongodb , aby zobaczyć, który użytkownik jest mongod uruchomiony jako.
9

Przepraszam, jeśli bierzesz pod uwagę tę "archeologię SO".

Nie wiem, czy to ten sam problem, ale mam teraz do czynienia z czymś podobnym. Koniec moim dzienniku:

Mon Nov 19 10:25:37 [initandlisten] exception in initAndListen: 12596 old lock file, terminating 
Mon Nov 19 10:25:37 dbexit: 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close listening sockets... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to flush diaglog... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close sockets... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: waiting for fs preallocator... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: lock for final commit... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: final commit... 
Mon Nov 19 10:25:37 [initandlisten] shutdown: closing all files... 
Mon Nov 19 10:25:37 [initandlisten] closeAllFiles() finished 
Mon Nov 19 10:25:37 dbexit: really exiting now 

Więc myślę plik blokada nie jest prawidłowo zamknięta (na przykład podczas zamykania).Należy użyć

mongod --repair 

Ale to nie dla mnie, więc po prostu usunięte /var/lib/mongodb/mongod.lock a następnie zaczął serwer. Nie jest to bezpieczny sposób i istnieje możliwość, że dane w bazie danych są uszkodzone, jeśli to zrobisz.

7

Przepraszam za rehash tego wątku, ale umieszczam to tutaj, ponieważ wpadłem dokładnie na ten sam problem i zadziałało.

wzięty stąd:

http://pastebin.com/6hP42r69

sudo -u mongodb mongod --repair -dbpath /var/lib/mongodb 

biegnę Linux Mint 15 i aktualny MongoDB budować.

2

I rozwiązać ten ręcznego usuwania pliku .lock jak ten

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

następnie ponownie

4

miałem ten sam problem i rozwiązałem działa tylko:

$ service mongod restart

1

One of the możliwe przypadki to mongod.lock (co było przyczyną mojego problemu).

Otwórz plik dziennika w

/var/log/mongodb/mongod.log

Sprawdź, czy masz jakiś wyjątek, ponieważ pliku mongod.lock. Skopiuj to miejsce i usunąć go

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

Następnie uruchom

sudo service mongod restart

Aby sprawdzić, czy wszystko jest w porządku teraz.

sudo service mongod status

Oczekiwany wynik będzie mongod start/running

1

Czasami problemy mogą być spowodowane przez nie mając wystarczająco dużo wolnego przechowywania journaling nadal płynnie.

zostawił tail -100 /var/log/mongodb/mongod.log i znaleźć ten błąd:

exception in initAndListen: 15926 Insufficient free space for journals, terminating upewnij przynajmniej 3379MB dostępne w/var/lib/MongoDB/czasopisma lub korzystania --smallfiles`

Rozwiązano go poprzez umieszczenie smallfiles=true w moim MongoDB plik konfiguracyjny /etc/mongod.conf.

Następnie sudo rm /var/lib/mongodb/mongod.lock

a następnie ponowne uruchomienie instancji MongoDB korzystając service mongod start

nadzieję, że to pomaga.

Powiązane problemy