2012-11-09 25 views
27

Jestem nowa w Mongodb. Kiedy uruchomić następującą komendę:Stop: Nieznana instancja mongodb (Ubuntu)

sudo service mongodb start 

to pokazuje mi "MongoDB start/bieg, proces 3566". Ale gdy próbuję zatrzymać dając komendę poniżej:

sudo service mongodb stop 

To pokazuje przystanek: nieznany instancję:. Czy ktoś ma jakiś pomysł, jak rozwiązać ten problem.

A jeśli dam usługę sudo MongoDB restart, Dostaję poniższy komunikat:

stop: Unknown instance: 
mongodb start/running, process 3644 

PS: Jeśli używam tylko mongod, mogę uruchomić serwer i może połączyć powłoka mongo, dając mongo.

Proszę zasugerować mi, jak rozwiązać problem i jak połączyć powłokę Mongo po udzieleniu usługi mongodb start. Z góry dziękuję.

+0

Wygląda na to, że odpowiedź została udzielona tutaj http://stackoverflow.com/questions/10072563/cannot-restart-mongodb-on-ubuntu-11-04 – Gregor

+0

Dzięki. Ale nie znajduję pliku logu w katalogu log/var/log/mongodb /. – senthil

Odpowiedz

-2

Naprawiłem to sam. Poniżej jest to, co zrobiłem:

apt-get install mongodb 

I zastąpić plik .conf. Potem wszystko działa dobrze. Mam nadzieję, że to pomogłoby komuś.

+0

Nie sądzę, ponowne instalowanie mongodb jako rozwiązanie. – c24b

16

Po prostu w to wpadłem. Prawdopodobnie problem występuje w pliku conf (oczywiście, od czasu ponownego zainstalowania zaszczepionego)

W mongodb.conf nie ustawiaj fork = true, jeśli wywołujesz go jako usługę. Uniemożliwi to dostęp do zgłoszenia serwisowego z usługą mongodb.conf status/stop/restart.

Usuwanie widelca = Prawdziwa linia jednak zmniejszy problem.

Zobacz komentarze; użyj innego rozwiązania, nawet jeśli ten jest akceptowany.

+0

Dzięki @goingtharn: spędziliśmy kilka godzin próbując rozwiązać ten problem, a to się udało. – mstringer

+2

dla prawidłowego sprawdzenia rozwiązania http://stackoverflow.com/a/21354762/1778421 –

+1

@AlexP. Dlaczego to rozwiązanie jest właściwym rozwiązaniem (sprawdź komentarz jonatan dotyczący tego rozwiązania)? Możesz zaktualizować swoje rozwiązanie, aby wyjaśnić. –

1

wychodził dokładnie ten sam problem i nie następujących:

  • Usunięto mongod.lock plik (w moim przypadku plik ten znajdował się w/var/lib/MongoDB /)
  • zastosowano następujące polecenie od mojego klienta Mongo

Mongo --repair

I to naprawiło problem. Można zauważyć, że przed awarią pojawiła się awaria systemu. Dlatego, jak sądzę, problem został spowodowany z powodu nieczystego zamknięcia demona serwera.

Jeśli nie masz pewności, może warto zajrzeć do pliku dziennika (w moim przypadku znalazłem go pod/var/log/mongodb /). To może dać ci kilka przydatnych wskazówek.

Dzięki.

+1

Błąd parsowania wiersza poleceń: nieznana opcja naprawy spróbuj 'mongo - help', aby uzyskać więcej informacji – mvladk

+0

działa dla mnie .. dziękuję . – keithics

2

Zmierzyłem się z nim tak, jak było. Może dlatego, że mój komputer nieoczekiwanie się zawiesił. Używam polecenia: sudo top (ubuntu), i znalazłem mongo uruchomiony. Zabiłem go i zacząłem mongo. Wszystko kręci się w prawo.

12

Powodem masz błąd Unknown instance dlatego upstart śledzi złego PID dla instancji rozwidloną mongod procesu. Ale właściwe rozwiązanie to nie jest uruchomiony proces w planie poprzez usunięcie fork=true wiersza od config jak @GoingTharn sugerując, lecz pomagając upstart uchwycić właściwą PID z rozwidloną procesie dodając

expect daemon 

do /etc/init/mongodb.conf

+0

Dziękuję bardzo! działał jak czar ubuntu 12.04: – user45949

+2

Proszę, czy mógłbyś zrobić więcej szczegółów? może skopiuj poprawny plik mongodb.conf, ponieważ nie mam expa z mongo i nie rozumiem, spodziewaj się deamon :( – Rueta

+1

Dlaczego wyłączanie fork nie jest odpowiednim rozwiązaniem? [Dokumentacja mongody] (http://docs.mongodb.org/manual/reference/program/mongod/# cmdoption - fork) stwierdza, że ​​powinieneś uruchomić mongodb jako demona "przy pomocy --fork lub używając procesu kontrolującego, który obsługuje proces demonizacji (np. jak z upstart i systemd)" – jonatan