H2群集设置

时间:2013-02-05 09:07:53

标签: java transactions cluster-computing h2

由于H2支持群集,因此过程非常类似:

  • 启动服务器
  • 使用java org.h2.tools.CreateCluster以在所需群集中复制数据库

知道CreateCluster期望一个目标,一个源和一个列表的集群端点我有以下内容问题:

  1. 当我说为了启动3台服务器(A,B和C)的集群时,我是对的,我需要准确知道集群上的服务器数量,因为每个服务器需要在SET CLUSTER方法调用上具有org.h2.tools.CreateCluster.process(String, String, String, String, String)语句的数据库服务器列表。

    • 启动服务器A;
    • 启动服务器B;
    • 启动服务器C;
    • 在B机器CreateCluster上执行,其中A为源,B为目标,A,B,C为簇列表;
    • 在C机CreateCluster上执行,其中B为源,C为目标,A,B,C为群集列表;
  2. 假设我正在启动服务流程并且启动了A和B ,应用程序开始在群集上执行一些SQL 。找不到C,将C处理为

  3. 继续在第二个问题上启动启动过程,我启动C ,我已准备好执行CreateCluster,其中B为源,A,B,C为群集节点列表,在这个时刻发生了两件事:

      由于SET EXCLUSIVE 2
    • B将被置于独占模式(CreateCluster
    • SQL SET CLUSTER 'A,B,C'将在B和C
    • 上执行
  4. 在B被锁定时执行的 SQL是在A中执行的吗?如果是,那么它们已经已提交? B被释放时,客户端将是还在等什么?之后会通知C这个命令吗?

0 个答案:

没有答案