web-dev-qa-db-ja.com

流星:予期しないmongo終了コード100

Meteorバージョン0.5.9(45fef52095)をCentOSリリース6.3(最終)サーバーにインストールしました(Linuxバージョン2.6.32-279.19.1.el6.i686([email protected])(gccバージョン4.4.6 20120305(Red Hat 4.4.6-4)(GCC))#1 SMP Wed Dec 19 04:30:58 UTC 2012)

Apacheユーザーの下で/ mnt/apsharedとしてマウントされたWindows SBSサーバーへのsamba共有があります。この中に「webmeteor」というディレクトリを作成しました。 「webmeteor」ディレクトリ内に「myapp」というアプリを作成したので、私のディレクトリは/ mnt/apshared/webmeteor/myappのようになります。

ルートとしてログインしています。 meteorコマンドを使用してアプリを実行しようとすると、次のエラーメッセージが表示されます。

Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod

MongoDB had an unspecified uncaught exception.
Check to make sure that MongoDB is able to write to its database directory.

私の最初の呼びかけは、このStackOverflowの質問でした: 新しいmeteor.jsファイルを作成し、エラー100を取得し、MongoDBは書き込みできません -ただし、これらの提案に従って(sete 'meteorコマンド、 70GBの空き容量があるディスク容量の確認は機能しませんでした。これらの問題は許可に関連していると確信しています。

私はchownを再帰的にroot:rootに(ルートとしてログインしているため)、chmodを再帰的に777にしようとしましたが、効果はありませんでした。

Meteorアプリを起動できるようにするために、次に何を試してみますか?

前もって感謝します。

55

マウントにないディレクトリからmeteorを実行すると、一時的な解決策が見つかるようです。 Mongodbは共有に対してあまり親切に思わないので、rsyncをセットアップして、共有からファイルを定期的にmeteorが実行されているディレクトリにコピーする必要があります。

ソース: Meteorでサンプルを実行する際の問題

14
mmmeff

meteor resetを使用すると、データベースからすべてのデータが消去されます。これが心配な場合は、プロジェクトフォルダに移動してください。

cd /path/to/my/project

ここで、mongodb.lockファイルを消去する必要があります。

rm .meteor/local/db/mongodb.lock

これで、コマンドを使用してMeteorを実行できます。

meteor

88
Prashant

このファイルとフォルダを削除するとうまくいきました:

rm -rf .meteor/local/db/mongod.lock .meteor/local/db/journal/
41
gabrielstuff

鉱山は、エクスポートLC_ALL=Cを実行することで最終的に修正されました。この投稿で提案されているデバッグ手順でエラーを見つけました: https://stackoverflow.com/a/15752736/182051

16
Xiv

他で示唆されているように、meteor reset OS Xでの問題を修正しました。

警告:meteor resetはローカルデータベース内のすべてを消去します。

10
Jonatan Littke

そのパーティションに十分な空き領域があることを確認してください。そうでない場合、このエラーが発生します。

5
Paul Sturm

これは私を助けたものです。

  1. .meteor/local/db/mongod.lockを削除しました
  2. Mongodプロセスを終了しました。これは「ps -ef | grep mongo」を使用して見つけることができます
5
Navan

私はVagrantで流星を実行していますが、この問題に遭遇しました。このスレッドを見つける前に、/var/lib/mongodbがあったので.lockからMongoDBファイルを削除しました。 MongoDBは.meteorフォルダーの横にある可能性があります。

3
Robert Forbes

このバグは、meteorを再起動するたびに発生していました。

rm .meteor/local/db/mongod.lock

私のために働いていませんでした(私はcloud9オンラインIDEに取り組んでいます)

今やる

rm .meteor/local/db/mongod.lock .meteor/local/db/local.*

そしてすべてが正常に戻りますwithoutデータベースを消去します

2
HammerGuy

Windows 8.1 x64でも同じ問題が発生しました:'予期しないmongo終了コード100。再起動'。そして、「流星のリセット」または「mongod.lockの削除」はそれを解決しませんでした。 mongodの起動時にエラーの詳細を表示するために、run-mongo.jsファイルにproc.stdout.on関数を追加しました。

// Let's not actually start a process if we yielded (eg during
// findMongoAndKillItDead) and we decided to stop in the middle (eg, because
// we're in multiple mode and another process exited).
if (stopped) return;

proc = spawnMongod(mongod_path, port, dbPath, replSetName);

// added this 3 lines just to debug 'Unexpected mongo exit code 100. Restarting.'
proc.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

次に、明示的なエラーが発生しました:

*********************************************************************
ERROR: dbpath (C:\Users\Pierre-André\Desktop\Pal\Meteor\simple-todos\.meteor\local\db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************

このエラーは、dbディレクトリが存在しないことを示しています。ただし、存在します。問題は、パスに特殊文字が含まれていることです(私の名前のアクセント記号é)。流星プロジェクトフォルダをディスク内の別の場所に移動します。この場所にはアクセント記号がなく、正常に機能しました。

それが役立つことを願っています。

run-mongo.jsファイルはPCのC:\ Users \Pierre-André\ AppData\Local\.meteor\packages\meteor-tool\1.1.10\mt-osにあります.windows.x86_32\tools\runners

問題を解決した後、3行を削除することを忘れないでください。そうしないと、プロジェクトがロードされるたびに多くのコンソールログが作成されます。

2
pal

マシンを誤ってシャットダウンしてしまい、同じ問題が発生しました。どのオプションも、つまり.lockファイルの削除やexport LC_ALL = Cなどの実行に役立ちませんでした。
Ubuntu 15.04を使用しています。 myApp/.meteor/local/dbを指す--dbpathオプションを指定してmongoを起動すると、mongoの起動ログにより、mongoがジャーナルフォルダーのジャーナルからデータベースを復元しようとしていることが明らかになりました。存在しないlocal.1ファイルを探していました。

だから、mongo --recoveryを試してみましたが、ジャーナルフォルダーを取得するまでは機能しません。
これが私がしたことです
1。ジャーナルフォルダーを削除しました(念のため、別の場所に移動しました)
2。 mongo --recoveryを実行しました(実際に何かを行ったかどうかは100%確信できません)
3。流星を始めた
そして、グリッチなしで開始し、期待どおりにすべてのデータがあったことを推測しました

1
arun

最初

$ rm .meteor/local/db/mongodb.lock

これが機能しない場合

できる限りバックアップ

.meteor/local/db/meteor *

そして

$流星のリセット

そして復元

.meteor/local/db/meteor *

1
Dayd

次のような通知を受け取った場合

Local folder has run out of space

に行ってみてください

cd .meteor/local/bundler-cache/

そのディレクトリ内のすべてを削除します。キャッシュなので、あまり影響しません。ときどき制御不能に成長するようです。

[〜#〜] edit [〜#〜]

他のすべての答えを組み合わせてみてください

rm -rf .meteor/local/db/mongod.lock .meteor/local/db/local.* .meteor/local/db/journal .meteor/local/bundler-cache/linker/

それでも機能しない場合は、ディスクの空き容量を増やす必要があります。経由で確認してください

free -m

または、iノードとどのくらいのスペースが使用されているかを見て

df -h
1
Leon

新しいラップトップ(Windows 10)にノードと流星を最初にインストールしたときに、この問題に出くわしました。デフォルトのインストールでは変更を加えていません。

Meteorのリセットまたは.meteor/local/dbからのファイルの削除は、ローカルで実行する新しいアプリを作成していて、ディレクトリが空だったため、機能しませんでした。そのため、それらを作成できましたが、実行されませんでした。また、古い流星バージョンでアプリを作成しようとしましたが、失敗しました。

解決済み私の場合、ディレクトリをc:\に変更します

cd c:\

流星作成testApp

このディレクトリは、PCから転送した既存のアプリでも機能しました。 NFSファイルシステムと関係があるのではないかと思います。私はこのすべてに新しいので、誰かがそれについてもっと説明できるなら、もっと学びたいです。考えられるすべてのディレクトリを使用してアプリを保存できないことは既にイライラしています

1
Yorgos Kakavas

解決しました!私の場合 deleting meteor/local/db/mongodb.lockおよびmeteor reset問題を修正します。

皆さんありがとう!

1
Nezir

Mongoをグローバルにインストールした場合は、/ db/journalフォルダー内のすべてのpreallocファイルを必ず削除してください。

Ubuntuの場合、/ db /フォルダーは通常/ dataにあるため、フルパスは/ data/db/journalです。これは他のOSでは異なる場合があります。

0
Timothy Nyota

Windows(Linux/WSLのWindowsサブシステム)でbashを使用している場合、/ mntディレクトリの外にmeteorアプリを作成すると問題が解決することがわかりました。

/ mnt/c/Workspaceのワークスペースにインストールすると、毎回失敗しました。しかし、ホームディレクトリ(〜)にインストールすると、最初に実行されます。 これが画像です。

0

ローカルMogo dbロックを削除することでエラーを回復できました。

DBロックを削除する手順:

  1. アプリディレクトリに移動します(Meteorアプリケーションファイルがある場所)
  2. ファイルを削除$ rm .meteor/local/db/mongod.lock

Meteorアプリケーションがまだバックグラウンドで実行されている場合、エラーが発生します。 Dbロックは、実行中のアプリケーションによって、または不適切なシステム/アプリケーションのシャットダウンのために解放されず、同じアプリケーションの2番目のインスタンスでは使用できません。そのため、毎回アプリケーションを終了するように注意してください。

0

Windows 10でMeteor 1.4を使用してこの問題が発生しました。しかし、Ubuntuのインストールで同じmeteorアプリケーションを開発しています。私にとっての問題は、WindowsとUbuntuでのMongo 3.2の実装方法の違いが原因でした。 64ビットUbuntuのインストールではWiredTigerを使用しています。しかし、流星で言うように ドキュメント

If you are using Windows or 32bit Linux, you can update your development
database to 3.2, however it will continue to use the MMAPv1 storage 
engine, as the 32bit MongoDB binary does not support WiredTiger.

Windowsでmeteor resetを使用すると、UbuntuからWiredTiger形式のデータベースが吹き飛ばされ、古いMMAPV1エンジンを使用して再構築されました。これにより、終了コード100エラーが解決されました。

0
charlesdeb

私は同じ問題を抱えていましたが、.meteorフォルダの所有権を変更して解決しました(MongoDBが存在する場所)

cd path-to-meteor-app
Sudo chown -R youruser:yourgruop .meteor

誰かを助けたい!

0
Agus Arias

LC_ALLのエクスポートで修正できました。Ubuntuを使用しています

export LC_ALL = "en_US.UTF-8"

0
Alex Fernandez

同様の問題がありました。これは、私のプロジェクトディレクトリがDropboxの一部であり、.meteor/local/dbディレクトリに競合するファイルがいくつかあったためです。これらを削除することで問題は解決しました。

0
Luke Clifton

新しいラップトップ(Windows 10)にノードと流星を最初にインストールしたときに、この問題に出くわしました。デフォルトのインストールでは変更を加えていません。

Meteorのリセットまたは.meteor/local/dbからのファイルの削除は、ローカルで実行する新しいアプリを作成していて、ディレクトリが空だったため、機能しませんでした。そのため、それらを作成できましたが、実行されませんでした。また、古い流星バージョンでアプリを作成しようとしましたが、失敗しました。

解決済み私の場合、ディレクトリをc:\に変更します

cd c:\

meteor create testApp

このディレクトリは、PCから転送した既存のアプリでも機能しました。 NFSファイルシステムと関係があるのではないかと思います。私はこのすべてに新しいので、誰かがそれについてもっと説明できるなら、もっと学びたいです。考えられるすべてのディレクトリを使用してアプリを保存できないことは既にイライラしています

0
Yorgos Kakavas