我有一个Coherence群集,其中包含5台物理计算机和每台计算机3个JVM。启动后,我从其中一个节点获取PartitionLostEvent。这是给出事件的节点的输出:
18 Feb 2014 14:05:02,570 [Logger@9232314 3.5.3/465p5] INFO Coherence - 3.5.3/465p5 (thread=DefaultCacheServer, member=2): Started DefaultCacheServer...
SafeCluster: Name=tmsngCluster
WellKnownAddressList(Size=5,
WKA{Address=172.17.0.205, Port=4044}
WKA{Address=172.17.0.202, Port=4044}
WKA{Address=172.17.0.203, Port=4044}
WKA{Address=172.17.0.201, Port=4044}
WKA{Address=172.17.0.204, Port=4044}
)
MasterMemberSet
(
ThisMember=Member(Id=2, Timestamp=2014-02-18 14:05:00.396, Address=172.17.0.205:4044, MachineId=51999, Location=machine:nec05,process:28959,member:INPUT1, Role=Input)
OldestMember=Member(Id=1, Timestamp=2014-02-18 14:04:30.049, Address=172.17.0.201:4044, MachineId=3867, Location=machine:nec01,process:11301,member:PROCESS1, Role=Process)
ActualMemberSet=MemberSet(Size=11, BitSetCount=2
Member(Id=1, Timestamp=2014-02-18 14:04:30.049, Address=172.17.0.201:4044, MachineId=3867, Location=machine:nec01,process:11301,member:PROCESS1, Role=Process)
Member(Id=2, Timestamp=2014-02-18 14:05:00.396, Address=172.17.0.205:4044, MachineId=51999, Location=machine:nec05,process:28959,member:INPUT1, Role=Input)
Member(Id=3, Timestamp=2014-02-18 14:05:00.415, Address=172.17.0.204:4045, MachineId=23582, Location=machine:nec04,process:32568,member:PROCESS1, Role=Process)
Member(Id=4, Timestamp=2014-02-18 14:05:00.417, Address=172.17.0.204:4046, MachineId=23582, Location=machine:nec04,process:32648,member:CLIENT1, Role=Output)
Member(Id=5, Timestamp=2014-02-18 14:05:00.414, Address=172.17.0.203:4044, MachineId=60701, Location=machine:nec03,process:32077,member:INPUT1, Role=Input)
Member(Id=6, Timestamp=2014-02-18 14:05:00.441, Address=172.17.0.203:4045, MachineId=60701, Location=machine:nec03,process:32040,member:PROCESS1, Role=Process)
Member(Id=7, Timestamp=2014-02-18 14:05:00.451, Address=172.17.0.205:4045, MachineId=51999, Location=machine:nec05,process:28928,member:PROCESS1, Role=Process)
Member(Id=8, Timestamp=2014-02-18 14:05:00.47, Address=172.17.0.204:4044, MachineId=23582, Location=machine:nec04,process:32605,member:INPUT1, Role=Input)
Member(Id=9, Timestamp=2014-02-18 14:05:00.53, Address=172.17.0.202:4044, MachineId=32284, Location=machine:nec02,process:1785,member:PROCESS1, Role=Process)
Member(Id=10, Timestamp=2014-02-18 14:05:00.551, Address=172.17.0.203:4046, MachineId=60701, Location=machine:nec03,process:32120,member:CLIENT1, Role=Output)
Member(Id=11, Timestamp=2014-02-18 14:05:00.568, Address=172.17.0.205:4046, MachineId=51999, Location=machine:nec05,process:28996,member:CLIENT1, Role=Output)
)
RecycleMillis=240000
RecycleSet=MemberSet(Size=0, BitSetCount=0
)
)
Services
(
TcpRing{TcpSocketAccepter{State=STATE_OPEN, ServerSocket=172.17.0.205:4044}, Connections=[1]}
ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.5, OldestMemberId=1}
InvocationService{Name=Management, State=(SERVICE_STARTED), Id=1, Version=3.1, OldestMemberId=1}
DistributedCache{Name=BackService, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=1021, BackupCount=1, AssignedPartitions=0, BackupPartitions=0}
DistributedCache{Name=InputBackService, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=1021, BackupCount=1, AssignedPartitions=770, BackupPartitions=0}
ReplicatedCache{Name=ReplicatedCache, State=(SERVICE_STARTED), Id=7, Version=3.0, OldestMemberId=1}
InvocationService{Name=DefaultInvocationService, State=(SERVICE_STARTED), Id=15, Version=3.1, OldestMemberId=2}
)
18 Feb 2014 14:05:02,604 [Logger@9232314 3.5.3/465p5] WARN Coherence - 3.5.3/465p5 (thread=DistributedCache:InputBackService, member=2): Assigned 1021 orphaned primary partitions
18 Feb 2014 14:05:02,654 [DistributedCache:BackService:EventDispatcher] INFO server.common.watchdog.MemberLeftListener - Member joined: Member(Id=9, Timestamp=2014-02-18 14:05:00.53, Address=172.17.0.202:4044, MachineId=32284, Location=machine:nec02,process:1785,member:PROCESS1, Role=Process)
18 Feb 2014 14:05:02,655 [DistributedCache:BackService:EventDispatcher] INFO server.common.master.MasterServiceImpl - Member joined: Member(Id=9, Timestamp=2014-02-18 14:05:00.53, Address=172.17.0.202:4044, MachineId=32284, Location=machine:nec02,process:1785,member:PROCESS1, Role=Process)
18 Feb 2014 14:05:02,657 [Environment.Background.Executor:Thread-2] ERROR server.common.watchdog.LostPartitionsEventProcessor - Partitions are lost for DistributedCache{Name=InputBackService, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=1021, BackupCount=1, AssignedPartitions=1021, BackupPartitions=0}
我正在使用Coherence 3.5.3(patch5)。
这是服务的配置:
<distributed-scheme>
<scheme-name>inputDistributedScheme</scheme-name>
<service-name>InputBackService</service-name>
<backing-map-scheme>
<local-scheme>
<service-name>InputBackLocalService</service-name>
</local-scheme>
</backing-map-scheme>
<partition-listener>
<class-name>com.company.tmsng.server.common.watchdog.LostPartitionListener</class-name>
</partition-listener>
<local-storage system-property="tangosol.coherence.inputNode">false</local-storage>
<autostart system-property="tangosol.coherence.inputNode">false</autostart>
</distributed-scheme>
当群集仍在启动时,为什么会收到此事件?
最佳答案
记住类似的问题。在我们的案例中,问题是机器(物理)之间的jar版本不匹配,因为我们加载了包含针对CachePersistency和入口处理器的自己实现的自定义jar。
如果加载了此类文件(自定义),请检查您的版本,甚至是MD5或哈希值。