3

Apache Tomcat で実行され、H2 データベースを使用する SpringMVC アプリケーションがあります。インフラストラクチャには、独自の Tomcat サーバーを実行する 2 つのアプリケーション サーバー (A と B と名付けましょう) が含まれています。また、H2 データベース クラスタリングも導入しています。

1つのシステム(A)で、次のコマンドを実行しました

java org.h2.tools.Server -tcp -tcpPort 9101 -tcpAllowOthers -baseDir server1

他の (B) 私は走った

java org.h2.tools.Server -tcp -tcpPort 9101 -tcpAllowOthers -baseDir server2

マシン A でクラスターを開始しました

java org.h2.tools.CreateCluster
-urlSource jdbc:h2:tcp://IpAddrOfA:9101/~/test
-urlTarget jdbc:h2:tcp://IpAddrOfB:9101/~/test
-user sa
-serverList IpAddrOfA:9101,IpAddrOfB:9101

サーバーのいずれかがダウンした場合、障害が発生したデータベースを削除し、サーバーを再起動して CreateCluster を再実行する必要があることが言及されています。

次の質問がありますか?

  1. 両方のサーバーがダウンしている場合、そのサーバーを再起動してクラスターを再実行できるように、どのデータベースを削除すればよいかを確認するにはどうすればよいですか?
  2. CreateCluster には、urlSource と urlTarget が含まれています。以前に与えられたものと同じ値を与えるように具体的にする必要がありますか、それとも副作用なしでそれらを交換できますか?
  3. 両方のマシンから CreateCluster コマンドを実行する必要がありますか? もしそうなら、urlSource と urlTarget を交換する必要がありますか?
  4. サーバーの両方が実行されているか、一方が実行されているか、またはまったく実行されていないかを知る方法はありますか? 両方がアップしている場合は両方の IpAddress が返され、1 つだけがアップしている場合は 1 つの IpAddress が返され、それ以外の場合はすべてダウンしていません。
4

1 に答える 1