Cluster computing Hazelcast群集中的地图存储

Cluster computing Hazelcast群集中的地图存储,cluster-computing,lifecycle,hazelcast,Cluster Computing,Lifecycle,Hazelcast,我有一个hazelcast集群,它用来自独立远程(REST)服务的数据填充分布式IMap。我想保留IMap数据的本地副本以供HA/DR使用,因此我实现了一个基于文件的MapStore 结果并不像我预期的那样。我注意到每个节点存储的可能只是该节点分区中的项目,这不一定是个问题,但我还注意到在重新启动所有节点后,IMap只包含启动的第一个节点的磁盘中的项目 我在文档中找不到关于MapStore如何在集群中节点的整个生命周期中使用的好解释。有人能解释一下吗?正如您已经了解的,MapStore在分区所在

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

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


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

正如您已经了解的,MapStore在分区所在的节点上被调用。由于分区表在启动时是随机化的,因此很难得到与上次重启时相同的分区分布

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