2016-10-05 19 views
0

私は、ネットワーク上の共有ファイルシステム(GlusterFS)/マスタースレーブ設定(すべてVM内)に3つのActiveMQブローカを持っています。
マスタに障害が発生した場合、クライアントは新しいマスタにフェールオーバーする必要があります。
問題は、新しいマスターへの接続に約50秒かかります。
これは妥当ですか?
改善方法ネットワークケーブルを切断して、マスターを外すときも

私のクライアント接続は、それが停止して(GlusterFS上にある)kahaDBに関する例外をスローし、再起動する必要があり、このActiveMQはフェールオーバーに時間がかかります

failover:(tcp://a1:61616?connectionTimeout=1000,tcp://a2:61616?connectionTimeout=1000,tcp://a3:61616?connectionTimeout=1000)?randomize=false&maxReconnectDelay=10000&backup=true" 

のように見えます。
マスターブローカが自動的に再起動するように、またはネットワークが復帰したときに自動的に接続できるように、この動作の回避策はありますか?

答えて

1

フェールオーバーは、ファイルロックを解除するために基礎となるファイルシステムがかかる時間によって異なります。

あなたの場合、NFSクラスタは最初のノードが失われたことを検出するために50秒待っているので、secahノードで取り込めるkahadbファイルのロックを解除します。

NFSサーバー構成ファイル(、redhat/centosシステムの場合)のNFSD_V4_GRACEおよびNFSD_V4_LEASEパラメータでこの遅延をカスタマイズできます。

また、kahadbのlockKeepAlivePeriodをカスタマイズすることが私の共有ファイルシステムであるとしてhttp://activemq.apache.org/pluggable-storage-lockers.html

+0

が同じでGlusterFSに設定することができます見ることができます。 nfsというのは間違いだった。 –

+1

私はGlusterFSについてよくわかりませんが、 "LOCK_RELEASE"という種類のパラメータもあると推測しています。すべての "クラスタ化された"ファイルシステムがActiveMQでサポートされているわけではないことに注意してください(http://activemq.apache.org/shared-file-system-master-slave.html)。 –

関連する問題