【问题标题】:MapStore in a Hazelcast ClusterHazelcast 集群中的 MapStore
【发布时间】:2015-04-29 19:28:07
【问题描述】:

我有一个 hazelcast 集群,它使用来自单独的远程 (REST) 服务的数据填充分布式 IMap。我想为 HA/DR 保留 IMap 数据的本地副本,因此我实现了一个基于文件的 MapStore。

它并没有像我预期的那样工作。我注意到每个节点存储的可能只是该节点分区中的项目,这不一定是问题,但我也注意到在所有节点重新启动后,IMap 只包含来自磁盘的项目第一个启动的节点。

我在文档中找不到关于如何在集群中节点的整个生命周期中使用 MapStore 的良好解释。谁能解释一下?

【问题讨论】:

    标签: cluster-computing lifecycle hazelcast


    【解决方案1】:

    您已经知道,MapStore 在分区所在的节点上被调用。由于分区表在启动时是随机的,因此最终得到与上次重新启动时相同的分区分布的可能性非常低。

    解决这个问题并仍然使用您的实现的一种方法是引入像 Ceph 或类似的分布式文件系统来存储数据文件。这样,无论重启后分区表如何,每个节点都可以读取其分区。

    【讨论】: