1

我们正在使用 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 等?)?谢谢!

4

1 回答 1

2

您能否解释一下,如果 Hazelcast 在集群中,为什么无法在节点上锁定地图

地图目前可以被其他节点锁定。

自 1.9.4.4 以来也有很多修复和更改,它是相当旧的版本。您应该尝试 2.1+。

于 2012-07-21T12:59:20.470 回答