web-dev-qa-db-ja.com

停止:不明なインスタンスmongodb(Ubuntu)

Mongodbは初めてです。次のコマンドを実行すると:

Sudo service mongodb start

"mongodb start/running、process 3566"と表示されます。しかし、以下のコマンドを実行して停止しようとすると:

Sudo service mongodb stop

stop:Unknown instance:と表示されます。この問題を解決する方法を誰かが知っているか。

そしてSudo service mongodb restartを指定すると、次のメッセージが表示されます。

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

PS:mongodだけを使用している場合、サーバーを起動して、mongoを指定することで、mongoシェルに接続できます。

service mongodb startを指定した後に問題を修正する方法とmongo Shellを接続する方法を教えてください。前もって感謝します。

28
senthil

私はちょうどこれに遭遇しました。おそらく、問題はconfファイルにあります(当然、シードを再インストールしたため)

Mongodb.confで、サービスとして呼び出す場合は、fork = trueを設定しないでください。これにより、サービスコールがサービスmongodb.conf status/stop/restartでアクセスできなくなります。

ただし、fork = True行を削除すると、問題が緩和されます。

コメントを参照してください。これが受け入れられても、他のソリューションを使用します。

16
GoingTharn

Unknown instanceエラーが発生する理由は、upstartがフォークされたPIDプロセスのインスタンスに対して誤ったmongodを追跡しているためです。しかし、これに対する適切な解決策は、@ GoingTharnが提案するようにfork=true行を構成から削除してフォアグラウンドでプロセスを実行するのではなく、upstartが正しいPIDをキャプチャするのを助けることです。追加によってフォークされたプロセス

expect daemon

/etc/init/mongodb.conf

12
Alex P.

私はあなたが持っていたようにそれに直面しました。多分それは私のコンピューターが予期せずクラッシュしたためです。私は次のコマンドを使用します:Sudo top(ubuntu)、そして私はモンゴが走っていることを発見しました。私はそれを殺してモンゴを開始しました。すべてがうまくいきます。

2
wendy

私はまったく同じ問題に直面し、次のことを行いました:

  • Mongod.lockファイルを削除しました(私の場合、このファイルは/ var/lib/mongodb /にありました)
  • 私のmongoクライアントから次のコマンドを使用しました

mongo-修復

そして、それは問題を修正しました。この問題が発生する前にシステムクラッシュが発生したことに注意してください。したがって、私が信じているのは、この問題はサーバーデーモンの不適切なシャットダウンが原因で発生したのです。

理由がわからない場合は、ログファイルを確認してください(私の場合、/ var/log/mongodb /の下にあります)。それはあなたにいくつかの役に立つヒントを与えるかもしれません。

ありがとう。

2
Tanvir