【问题标题】:Issue with Hazelcast/CONCURRENT_MAP_LOCK after server restart服务器重新启动后 Hazelcast/CONCURRENT_MAP_LOCK 出现问题
【发布时间】:2012-07-20 11:49:28
【问题描述】:

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

【问题讨论】:

    标签: java tomcat distributed-caching hazelcast


    【解决方案1】:

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

    此时地图可能被其他节点锁定。

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

    【讨论】:

    • 感谢您的帮助,我很高兴在这里见到 Hazelcast 开发人员。我会尝试新版本的 Hazelcast。您能否也提出有关此错误的建议:pastie.org/4305956 - 这是当一个节点在服务器重新启动后尝试将值放入分布式缓存时。集群中有节点 10.152.41.105,但有一个节点试图放在那里,但失败了。它是否具有相同的根本原因(其中一个服务器锁定映射)?谢谢。
    猜你喜欢
    • 2017-11-03
    • 2021-06-21
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    相关资源
    最近更新 更多