« October 2012 | Main | January 2013 »

November 2012

2012.11.17

PostgreSQL全機能バイブル

PostgreSQL9.2対応。

それはさておき、ストリーミングレプリケーションに関する説明などもあり、運用面においてもそれなりに有用なのではないかと。

先日、同期レプリケーションを行っているPostgreSQLで、スレーブ側の端末でトラブルが発生してしまったわけでして。ディスク障害やメモリ障害、CPU障害といった致命的な内容ではなさそう(端末およびPostgreSQLは稼働し続けていたので)なのですが、かといって放置するわけにも行かず、スレーブ端末をシャットダウンする必要がでてきてしまいました。単純にスレーブを停止させると、マスター側のトランザクションが止まってしまうのは知っていたので、さてさて、どうしたものか?

同期レプリケーションの設定方法や、マスターに障害が発生したときの資料はWebでも結構見つかるのですが、スレーブ側に障害が発生したときの資料ってのがなかなか見当たらず・・・で、いろいろと調べてたどり着いたのが、この書籍でした(笑)。
PostgreSQL 9.1 - 同期レプリケーションの障害対応 のところで、この書籍が紹介されていたので。

まずは、テスト機で検証してみるかな・・・。


| | Comments (0) | TrackBack (0)

2012.11.01

Apache-Tomcat通信で接続エラー

Apache-Tomcatの通信部分でApache側に

APR does not understand this error code:


All workers are in error state for route

といったエラーが発生。

連続してリクエストを投げ続けているとき(処理し続けているとき)は、何の問題もなく安定しているのですが、数時間リクエストがなくなっている状態から、再度リクエストを投げ始めたときにしばしば発生しているようです。

mod_proxy_ajpでエラー発生。。。mod_proxy_ajp で Apache と Tomcat の間の通信が切断されてしまう の内容に近い感じでしょうか。
私のところの環境では、ApacheとTomcatの間にFirewallを設置しています。

BalancerMemberのところでは、disablereuse=on keepalive=offのパラメータを指定しているのですが、それが上手く効いていないんでしょうかね??(他に、AJPの場合は関係ないのかもしれませんが、mod_proxy - ProxyPass、BalancerMemberのパラメータのdocumentを読んだのでまとめたを参考に、 SetEnv proxy-nokeepalive 1の設定も行っています)

mod_proxyの資料 では、

disablereuse:Apacheとバックエンドサーバの間にファイアウォールが存在して切断を切られる場合は On に設定する
keepalive:バックエンドサーバと Apache の間にファイアーウォールがある場合には、 このパラメータを使う。

とあります。コネクションプーリングをしないと、keepaliveを行う必要はないのでは? と思ったりするんですよね・・・(なので、disablereuse=on keepalive=off という設定にしています)。まさか、設定が、onでは駄目でOnにしなければならないとか言うことはないと思うのですが・・・(ソースでIgnoreCaseあるいはUpperCaseなどをしているかどうか確認すれば確実なのですが)。

Firewallの部分の設定を変更してもらえるようであれば、そちらで対応するのが確実かな・・・。

| | Comments (0) | TrackBack (0)

« October 2012 | Main | January 2013 »