当前位置: 首页 > 知识库问答 >
问题:

如何在只有2个Hazelcast群集节点的Hazelcast CP子系统上使用AtomicLong?

钱哲茂
2023-03-14

我正在更新到最新的Hazelcast版本[3.12],我面临着获取原子龙实例的问题。新版本,HZ引入了CAP定理的概念,以授予一致性和分区容差,但问题是CP子系统必须至少有3个成员。

Config config = new Config();
config.getCPSubsystemConfig().setCPMemberCount(3);
config.getCPSubsystemConfig().setGroupSize(3);

HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(config);

如何配置CP子系统,以便为我提供一个只有两个hazelcast节点的atomicLong实例?

如果仅使用一个节点启动应用程序,将打印以下消息:

MetadataRaftGroupManager.log:65[127.0.0.1]: 6000[dev][3.12]CP子系统正在等待3名成员加入集群。当前成员数:1

我将只有两个节点,所以CP子系统不允许我使用原子长,因为它将永远等待剩下的3个节点。。

我刚刚调用的3.11版本是hazelcast。getAtomicLong(“计数”)。我该怎么处理?

共有1个答案

劳韬
2023-03-14

在3.12中,CP子系统不能配置为使用少于3个节点运行,因为这将牺牲“一致性”,这是CP子系统在某些故障场景(网络分区)下的全部目的。[编辑:请参阅下面有关4.0及更高版本行为的新评论]

您仍然可以使用3.11 API,因此3.11实现中的代码将继续工作。虽然3.11 API被标记为已弃用,但它们没有被删除或禁用;这种反对意见是一种警告,即众所周知,在大脑分裂的情况下,API容易受到一致性问题的影响。一些应用程序代码可以容忍此类问题,而漏洞不是一个问题;如果您的应用程序无法容忍atomic long的潜在一致性问题,则需要添加额外的节点以迁移到CP实现。

 类似资料:
  • 我在Kubernetes(GKE和kubeadm)上启动了MongoDB副本集。我没有遇到任何问题的豆荚进入储藏室。然而,当我使用Helm部署相同时,我面临这个问题。当我运行此命令时-( kubectl Description po Mongodb-Shard1-0--namespace=Kube-System) (这里,mongodb-shard1-0是创建的第一个也是唯一一个pod(在所需的三

  • 我计划部署Kafka集群。我有以下查询: 1)为了保护生产者和消费者与Kafka broker的通信,可以使用SSL。如果我有一个由9个代理和3个zookeeper节点组成的集群,并且如果我不想使用自签名证书,我是否必须为每个节点购买一个证书(9个3证书,成本太高)? 正如我所读到的,生产者/消费者直接联系其中一个经纪人节点,而不联系动物园管理员。 谢谢, 病毒的

  • 我们使用Hazelcast IMDG作为内存网格。我们集群中的节点数是三个,我们有一个同步备份,并且集群是分区感知的。在这种情况下,我希望分布式映射将均匀分布在3个节点上(或多或少)。如果节点发生故障,领导层应转移到健康的节点(该节点具有丢失数据的同步备份)。如果对这个新分配的leader节点有写请求,那么应该将相同的分区同步复制到一个活动节点。这是否意味着在节点故障的情况下,应该复制大约三分之一

  • 并编写下面的查询,它是只在我的master上运行,还是将所有10个节点都用作worker? 如果不是,我必须做什么才能让我的Spark Sql使用完整的集群?

  • 问题内容: 我尝试在Google Container Engine的群集节点上安装ElasticSearch(最新版本),但是ElasticSearch需要变量:>> 262144。 如果我ssh到每个节点并手动运行: 一切正常,但是任何新节点将没有指定的配置。 所以我的问题是: 有没有办法在引导时在每个节点上加载系统配置?Deamon Set并不是一个好的解决方案,因为在Docker容器中,系统

  • 问题内容: 我在本地计算机上安装了elasticsearch,我想将其配置为集群(独立服务器)中唯一的单个节点。这意味着每当我创建一个新索引时,该索引仅对我的服务器可用。他人的服务器将无法访问它。 在当前情况下,这些索引可用于其他服务器(这些服务器在群集中形成),并且它们可以对我的索引进行任何更改。但是我不要。 我浏览了其他一些博客,但没有得到最佳解决方案。那么,您能不能让我知道相同的步骤? 问题