6つのTomcatサーバーのクラスターでHazelcat 1.9.4.4を使用しています。クラスターを再起動しました。ログの一部を以下に示します。
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
サーバーを数回再起動した後 (すべて一緒に、すべてを停止して 1 つずつ起動するなど)、システムを実行することができました。クラスター内にある場合、Hazelcast がノードでマップをロックできない理由、またはこのノードがクラスター外にある場合、メンバーとして表示される理由を説明していただけますか? また、分散型 Hazelcast 構造を持つ Tomcat クラスターを再起動する方法についての推奨事項はありますか (すべてのノードを停止して一緒に起動する、1 つずつ停止して起動する、サーバーを再起動する前に何らかの形で Hazelcast を停止するなど)? ありがとう!