我有一个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或哈希值。

10-06 11:21