我们正在研究MarkLogic 9.0.8.2
我们正在Azure上设置MarkLogic群集(3个虚拟机),并且根据故障转移设计,希望在Azure Blob中拥有3个林(每个用于节点)。
我完成了安装程序,开始摄取后发现文件分布在3个林中,而不是全部存储在每个林中。
例如
我摄取了30000条记录,每个森林包含10000条记录。
我需要的是拥有30000条记录的所有林。
我是否需要任何配置(在数据库或林级别)?
答案 0 :(得分:4)
MarkLogic与某些其他noSQL文档数据库故障转移的工作方式不同,后者可能会在每个主机上保留每个文档的副本。
MarkLogic的集群性质将文档分布在主机之间,以实现可用性和资源消耗之间的平衡。为了进行故障转移保护,您必须在每个主机上创建其他目录林,并将它们作为副本附加到现有目录林中。这样可以确保在3台主机中的任意1台发生故障时都可以使用。
这是示例林布局:
Host 1: primary_forest_01 replica_forest_03
Host 2: primary_forest_02 replica_forest_01
Host 3: primary_forest_03 replica_forest_02
副本林必须位于与主林不同的主机上,并且如果每个主机有多个林,则应在主机之间对它们进行条带化,以最佳地平衡故障转移时的资源消耗。
同样重要的是要注意,对于HA,您还需要为系统数据库配置副本。
因此,没有数据库设置可将所有文档放置在每台主机上,因为MarkLogic并非如此设计的。 Scalability, Availability and Failover Guide非常有用,在这种情况下,High Availability of Data Nodes with Failover部分特别相关。我还高度建议您查看MarkLogic提供的free training。