2016-06-24 6 views
9

H2の開発者ガイドを経て、どのクラスタノードが故障していたか、またどのデータベースが一時的なネットワークの場合に回復する必要があるか失敗。 (H2がN> 2、すなわち2つの以上のクラスタノードをサポートすることができ、それが真のことを実際にされた?)障害のあるH2クラスタノードの検出と回復

  • H2クラスタがNアクティブノードで開始
  • (たくさんのDBを:

    の以下のシナリオを考えてみましょう、読み取り、更新...)

  • が1つ(または複数の)クラスタノードで
  • ネットワーク接続が降り 、ノードがクラスタの残りの部分に見えなくなるDBの更新の
  • (たくさん、読み込み...)
  • ネットワークprとのリンクeviously切断ノード(複数可)それはこの後

を(私は、クラスタ内の1つのノードに障害が発生した場合SELECT VALUE FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME='CLUSTER'開始は空の文字列で応答見ることができる限り)

  • クラスタノードは、おそらく欠落していたことを発見された復元しましたどのノードが失敗しているかを調べる方法は不明です。 明らかに、私はDBサイズを比較するようないくつかの基本的なチェックを行うことができますが、それは信頼できません。 ESP、ノードがクラスタに欠けていたものを見つけるための推奨手順です何

    1. 。上記のクエリが空の文字列で応答する場合

    2. もう1つの質問 - なぜurlTargetは複数のパラメータをサポートしていないのですか? クラスタ内の複数のノードに障害が発生し、複数のノードを復旧したい場合、CreateClusterツールをどのように使用するのですか?

    3. また、クラスタを停止する必要があり、ノードを実際にリカバリしたくない場合、CreateClusterの仕組みが分かりません。実際にデータベースをコピーする必要がない場合は、CreateClusterツールに渡す必要があることがわかりません。 SELECT VALUE FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME='CLUSTER'部分的に右である

  • 答えて

    1

    標準モードで照会すると、空の文字列を返します。

    ただし、Connection.getClientInfo()を使用してサーバーの一覧を取得することもできますが、これは2段階の処理です。 h2database.com

    getClientInfo()によって返されるプロパティの一覧には、接続リストに含まれるサーバーの数を返すnumServersプロパティが含まれています。 getClientInfo()にはプロパティーserver0..serverNもあります。ここで、Nはサーバー数-1です。リストから2番目のサーバーを取得するには、getClientInfo( 'server1')を使用します。

    注:serverXプロパティは、IPアドレスとポートのみを返し、 ホスト名は返しません。

    あなたは単純な複製と言う前に、デフォルトの操作ですが、クラスター化されたH2の質問範囲外の高度な操作を行うことができます。唯一の(埋め込みモードはクラスタリングをサポートしていない)サーバモードで使用することができます

    クラスタリング:

    は、ここでは話をしている何のための引用です。残りのサーバーを停止することなく、CreateClusterツールを使用してクラスタを再作成できます。接続されているアプリケーションは自動的に切断されますが、追加するとAUTO_RECONNECT = TRUEになります。

    したがって、クラスタが停止してもauto_reconnectは有効にならず、基本クエリを固執するとスタックして情報を見つけることが困難になります。ほとんどの人があなたにAPIやマニュアルを見てもらうように指示しますが、私はこれを見ていないので、私の同情です。

    エラーコードを追跡すると、障害の計画方法を確認したときにできることを実際に知ることができます。here you go

    +0

    ありがとうございます!あなたの答えを受け入れる前に、他の2つの質問(私が賞金を始めたときに作成した週刊更新版です)を見てください:2. h2クラスタで3つ以上のクラスタノードを使用できるかどうか、このクラスターを正しく構成する方法。 3. h2クラスタを正しくシャットダウンしてから再起動します。それを行う方法に関するコマンドラインの例を提供してください。 – Alex

    +0

    答えは部分的ですが、私はまだそれを受け入れます。回答ありがとうございます。私は、標準以下のH2クラスタリングからあまりにも多くを期待しているように見えます。 – Alex

    関連する問題