由于ClusterConfigurationNotAvailableException,Gemfire集群突然停机:无法从定位器检索集群配置
我们有一个2个定位器和2个服务器的Gemfire集群。我们使用cache.xml引导Gemfire缓存服务器,使用spring boot初始化器引导spring data gemfire xml。
我们有一个连接到集群的客户端spring引导服务。
由于ClusterConfigurationNotAvailableException,Gemfire集群突然随机关闭:无法从定位器检索集群配置。可能的原因是什么?在重启后,它工作一天或两天没有问题,然后这个问题就来了。它会影响我们的高可用性。请帮我们解决这个问题。
org.apache.geode.GemFireConfigException: cluster configuration service not available
at org.apache.geode.internal.cache.GemFireCacheImpl.requestSharedConfiguration(GemFireCacheImpl.java:1025)
at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1149)
at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:758)
at org.apache.geode.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:735)
at org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2748)
at org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2518)
at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:993)
at org.apache.geode.distributed.internal.DistributionManager$MyListener.membershipFailure(DistributionManager.java:4354)
at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1556)
at org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$0(GMSMembershipManager.java:2593)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.geode.internal.config.ClusterConfigurationNotAvailableException: Unable to retrieve cluster configuration from the locator.
at org.apache.geode.internal.cache.ClusterConfigurationLoader.requestConfigurationFromLocators(ClusterConfigurationLoader.java:259)
at org.apache.geode.internal.cache.GemFireCacheImpl.requestSharedConfiguration(GemFireCacheImpl.java:988)
... 10 more预期行为是Gemfire集群的高可用性
发布于 2019-07-31 20:41:16
默认情况下,无论何时GemFire服务器启动(或在意外关闭后自动重新连接到群集),它都会尝试从任何定位器恢复Cluster Configuration,如果无法恢复,则成员将自行关闭,这就是连接的堆栈跟踪所发生的情况(请参见堆栈中org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect的出现情况)。我将重点分析为什么成员首先断开连接,随后的重新连接失败只是一个后果,而不是问题的根本原因。
无论哪种方式,如果您只是使用单独的xml文件来配置您的成员,并且根本不想使用Cluster Configuration Service,那么您可以使用属性--enable-cluster-configuration=false (默认值为true)启动您的定位器,并使用--use-cluster-configuration=false (默认值也是true)启动您的服务器,这将防止服务器尝试使用定位器中的集群配置来启动。
希望这能有所帮助。干杯。
https://stackoverflow.com/questions/57282753
复制相似问题