我们正在使用Hazelcat 1.9.4.4和6个Tomcat服务器。我们重新启动了我们的集群,这里的ant是日志的一个片段:
14-Jul-2012 03:25:41 com.hazelcast.nio.InSelector
INFO: /10.152.41.105:5701 [cem-prod] 5701 accepted socket connection from /10.153.26.16:54604
14-Jul-2012 03:25:47 com.hazelcast.cluster.ClusterManager
INFO: /10.152.41.105:5701 [cem-prod]
Members [6] {
Member [10.152.41.101:5701]
Member [10.164.101.143:5701]
Member [10.152.41.103:5701]
Member [10.152.41.105:5701] this
Member [10.153.26.15:5701]
Member [10.153.26.16:5701]
}
我们可以看到10.153.26.16已连接到群集,但稍后在日志中会有:
14-Jul-2012 03:28:50 com.hazelcast.impl.ConcurrentMapManager
INFO: /10.152.41.105:5701 [cem-prod] ======= 47: CONCURRENT_MAP_LOCK ========
thisAddress= Address[10.152.41.105:5701], target= Address[10.153.26.16:5701]
targetMember= Member [10.153.26.16:5701], targetConn=Connection [/10.153.26.16:54604 -> Address[10.153.26.16:5701]] live=true, client=false, type=MEMBER, targetBlock=Block [2] owner=Address[10.153.26.16:5701] migrationAddress=null
cemClientNotificationsLock Re-doing [20] times! c:__hz_Locks : null
14-Jul-2012 03:28:55 com.hazelcast.impl.ConcurrentMapManager
INFO: /10.152.41.105:5701 [cem-prod] ======= 57: CONCURRENT_MAP_LOCK ========
thisAddress= Address[10.152.41.105:5701], target= Address[10.153.26.16:5701]
targetMember= Member [10.153.26.16:5701], targetConn=Connection [/10.153.26.16:54604 -> Address[10.153.26.16:5701]] live=true, client=false, type=MEMBER, targetBlock=Block [2] owner=Address[10.153.26.16:5701] migrationAddress=null
cemClientNotificationsLock Re-doing [30] times! c:__hz_Locks : null
在几次重启服务器(一起停止所有并逐个启动等)后,我们就可以运行系统了。 你能解释一下,为什么Hazelcast无法锁定节点上的地图(如果它在群集中),或者如果此节点不在群集中,为什么它会显示为成员? 还有任何推荐如何重新启动具有分布式Hazelcast结构的Tomcat集群(停止所有节点并一起启动,逐个停止和启动,在服务器重启之前以某种方式停止Hazelcast等?)? 谢谢!
答案 0 :(得分:2)
你能解释一下,为什么Hazelcast无法锁定节点上的地图(如果它在群集中)
目前其他节点可以锁定地图。
自1.9.4.4以来,还有很多修复和更改,它是相当旧的版本。你应该尝试2.1 +。