2010-12-20 12 views
5

私のCouchDB(実動)サーバは、私の望むことなくシャットダウンすることがあります。ログを調べているうちに、Erlang/CouchDB(どちらか一方)がハートビートを送信し、そのハートビートが監視されていることがわかりました。タイムアウトが発生すると、サーバーは残酷に殺されます(couchdb -k)。これは、ほとんどの場合、プロダクションサーバーでは必ず不要な動作です。CouchDBハートビートタイムアウト

私はthis issueに出くわしました。これは、同じことを示しています。これは、大部分の負荷が重いときに発生することを示しています。

私はサーバーを稼働させ続けるソリューションを探していますが、これを行うにはこの動作についてもっと知る必要があります。残念ながら、the CouchDB wikithe guideは、これに関する多くの情報を提供していません(変更APIのパラメータのみ)。

誰かがこれに関する詳細情報を提供できますか?

+0

あなたが参照した問題は、問題がerlang vmのバージョンに関連しており、R13Bで修正されているようです。どのバージョンを使用していますか? – ZeissS

答えて

6

couchdb -kは、バックグラウンドプロセスを停止してから、ソファを再起動する必要があります。ただし、デフォルトでは、再起動機能は無効になっています。これを有効にするには、0より大きい値の-rパラメータを使用する必要があります。bin/couchdbスクリプトでRESPAWN_TIMEOUTを0からたとえば0に変更できます。 5.

+0

ありがとう、これを試してみましょう! –

+0

私はCouchDBのビルトイン再起動をあきらめて、外部スクリプトに依存していました。シンプルなwhile/sleepループからupstartスクリプトまでは、より信頼性の高いものになります。 (これは、根本的な原因を特定するために最終的に時間を費やした人によると、1.6.1以降に改善されている可能性があります:https://issues.apache.org/jira/browse/COUCHDB-1917) – natevw

1

erlang vmが起動すると心臓が起動する可能性が最も高いです。

ここでハートスイッチhttp://erlang.org/doc/man/erl.htmlとそのドキュメントhttp://erlang.org/doc/man/heart.htmlをご覧ください。

ここでは、使用しているカウチレポへのリンクを付けることができるので、「erl something -heart」でスクリプトを見つけたり、自分でgrepしたりすることができます。

私は、ソファビルドシステムの状態は何か分かりません。クラウドバージョンまたは純粋なApacheを使用していますか?

+0

CouchDBのインストールを維持するためにリポジトリを使用しています:http://rpmfind.net/linux/RPM/dag/redhat/el5/x86_64/couchdb-1.0.1-2.el5.rf.x86_64.html –

+0

try bin/couchdb.tpl.in(HEART_BEAT_TIMEOUT)を変更するには野生の推測ですので、経験豊富な人があなたを助けることができます。 – user425720