0

WindowsAzureでワーカーロールインスタンスとしてmongodbレプリカセットを実装しようとすると問題が発生します。Windows Azureポータルでは、インスタンスの1つが次のステータスでビジーとして表示されます。

Waiting for role to start... Calling OnRoleStart()

すべての設定を確認しましたが、すべて問題ないようです。問題は何でしょうか。

4

1 に答える 1

0

デニス・マルケロフのブログ投稿は、私がこの問題を解決するのに役立ちました。解決策は主に彼ですが、私はそれを機能させるために追加のステップを踏む必要があり、他の人がそれが役立つかもしれないと思いました。

ブログからの解決策:

Windows Azureは役割に仮想マシンを再利用するため、ハードドライブに新たに展開した後、前のセッションで作成されたファイルを見つけることができます。MongoDBが不適切に終了した場合、ロックファイル(「永続化されたミューテックス」アナログ)が存在する可能性があります。そのため、MongoDBは起動を拒否します。これは、「WindowsAzureDrive」というラベルの付いたドライブ(たとえばF:)のパスにあります。

F:\ data \ mongod.lock

本番環境で使用する場合、この状況ではリカバリ手順が必要になる場合がありますが、初期設定の過程にある場合は、このファイルを削除して、MongoDBを再起動させても安全です。

私はこの問題を抱えていて、提案どおりに行動しましたが、それでも同じ問題を抱えていました。だから私はログファイルを見てみました

C:\ Resources \ Directory \ .MongoDB.WindowsAzure.MongoDBRole.MongodLogDir \ mongod.txt

そして、別のファイルもエラーを出しているのを見ました。この問題を解決するにlocal.nsは、と同じディレクトリにあるファイルも削除する必要がありますmongod.lock

于 2013-02-19T15:00:09.307 に答える