如何在群集中配置两个jack Rabbit服务器?

时间:2015-09-19 14:20:37

标签: apache tomcat jcr jackrabbit cmis

我需要像这样的杰克兔群集的建议,任何人都可以提供参考。

有服务器1& 2和jackrabbit服务器1& 2在那里。每个jack兔子服务器都创建了一个jack jack文件夹。

如果server1访问插孔兔服务器2,则所需内容不可用。 我该如何实现此功能。

1 个答案:

答案 0 :(得分:2)

拥有2台服务器的场景很常见。所有这一切都需要配置Apache Jackrabbit进行设置。为清楚起见,我假设你使用的是Apache Jackrabbit 2.x而不是OAK。

使用Jackrabbit 2,您可以通过两种方式在两台服务器之间配置群集:

使用网络共享

您可以使用共享网络驱动器。在Jackrabbit存储库配置(repository.xml)中,您需要基于FileJournal配置集群元素。

<Cluster id="node1">
  <Journal class="org.apache.jackrabbit.core.journal.FileJournal">
    <param name="revision" value="${rep.home}/revision.log" />
    <param name="directory" value="/nfs/myserver/myjournal" />
  </Journal>
</Cluster>

使用数据库

您可以使用数据库来共享内容和日志(同步不同的存储库所需。在下面的示例中,我们将使用Oracle,但它可以是任何类型的RDBMS。

<Cluster id="node1" syncDelay="2000">
  <Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
    <param name="revision" value="${rep.home}/revision.log" />
    <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
    <param name="url" value="jdbc:oracle:thin:@myhost:1521:mydb" />
    <param name="user" value="scott"/>
    <param name="password" value="tiger"/>
  </Journal>
</Cluster>

在这两种情况下,在Cluster元素上设置不同的ID非常重要,以便Jackrabbit知道哪些节点仍需要更新。

有关详细信息,请参阅Apache Jackrabbit Clustering页面。