0

我们正在开发 MarkLogic 9.0.8.2

我们正在 Azure 上设置 MarkLogic 集群(3 个 VM),并且根据故障转移设计,希望在 Azure Blob 中有 3 个森林(每个用于节点)。

我完成了设置,当开始摄取时,我发现文档分布在 3 个森林中,而不是全部存储在每个森林中。

例如

我摄取了 30000 条记录,每个森林包含 10000 条记录。

我需要的是拥有 30000 条记录的所有森林。

是否有任何配置(在数据库或森林级别)我需要实现这一点?

4

1 回答 1

4

MarkLogic 的工作方式与其他一些 noSQL 文档数据库故障转移不同,后者可能会在每个主机上保留每个文档的副本。

MarkLogic 的集群特性将文档分布在主机之间,以提供可用性和资源消耗的平衡。对于故障转移保护,您必须在每台主机上创建额外的林并将它们作为副本附加到现有林。这确保了 3 台主机中的任何一台出现故障时的可用性。

这是一个示例森林布局:

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 设计的工作方式。可扩展性、可用性和故障转移指南提供了非常丰富的信息,在这种情况下,具有故障转移的数据节点的高可用性部分特别相关。我还强烈建议您查看 MarkLogic 提供的免费培训

于 2019-05-03T14:01:13.320 回答