2017-04-24 1 views
0

私は2つのデータセンターにまたがって動作するcassandraクラスタを持っています。各DCには、複製ファクタが3の3つのノードと、LOCAL_QUORUMとしてのREAD/WRITE整合性があります。f5ロードバランサからのCassandraマルチデータセンタークラスタヘルスチェック

クォーラムがもう満たされないため、DCの2つのノードがダウンしたときに特定のDCへのトラフィックを停止したいとします。ローカルクォーラムが満たされていないにもかかわらず他のDCカスドンドラに接続することは可能ですが、そこからは不可能です。

これを達成するために、f5ロードバランサで何らかのルールを設定できますか?

答えて

1

BIG-IP上に外部モニタをセットアップして、クラスタの状態を判断して結果の負荷を分散するスクリプトを実行できます。 BIG-IP 11.x +を使用している場合は、スクリプトを作成してインポートし、必要な引数を追加します。次に、その外部モニターを呼び出すモニター・プロファイルを作成します。

DevCentral Wiki: External Monitor

下にスクロールして、あなたは例のトンがオフに構築するために表示されます:あなたはは、DevCentralアカウントをお持ちの場合は

、このページをチェックしてください。注意すべき例は、MySqlモニターです。これは、BIG-IPのクラスタヘルスチェックに推奨される方法です。

また、成功/失敗のメッセージを検索するWebページを照会するだけで、すでにクラスタの健全性ステータスページがある場合は、HTTPモニタでメッセージの検証を行うことができます。受信文字列をカスタマイズして特定のコンテンツを探したり、regexを使って特定の文字列(clusterFailureなど)を探すことができます。そこから、適切なLB決定を行うことができます。私はnagiosのステータスページを読んで同様のモニターを走らせ、特定のメッセージの失敗を読むと、そのノードからのLB接続になります。

Here's some info on regex with http monitors

+0

参考になります。私は、cassandraクラスターのためにクラスターの健全性のページを持っていないので、私はスクリプトと一緒に行かなければならないと思う。 – user3081593

+0

HTTPモニターが読んでいる可能性のある他の監視ソリューションが既にあれば、私は考えていました。クリーンではない...スクリプトはそれを行う適切な方法です。 1つのWebページを読むHTTPモニターは怠け者です。他の質問がある場合は、Lemmeにご連絡ください。また、DevCentralのWebサイトに質問を投稿すると、誰かが助けてくれるはずです。 – Chase

+0

私たちは監視ソリューションを使用していないため、今のところさらなる質問はありません。あなたの提案をありがとう。 – user3081593

関連する問題