hazelcast v3.2.4 클라이언트와 서버를 사용하고 있습니다. 서버가 데이터베이스의 데이터를로드합니다.이 문제는 데이터가 적 으면 발생하지 않으므로 관련 데이터 크기를 추측하고 있지만 확인해야합니다. 테스트를 위해 서버에 두 개의 노드가 있습니다. 문제가 있음을 알게되면 더 추가 할 수 있습니다. 내 hazelcast 맵에 사용하는 맵 구성은 아래에 나와 있습니다. 어떻게 든 맵을 잘못 구성했는지 확실하지 않습니다. 클라이언트와 서버의 오류는 다음과 같습니다. 노드에서의 GC 또는 단순히 너무 많은 데이터가 (단순 상단 체크 불구하고 35 % 미만의 메모리 사용량을 보여줍니다 - 곧 jvisualvm 사용하여 확인합니다) 있는지 확실하지 않다 클라이언트에hazelcast를 사용할 때 맵이 준비되지 않았습니다.
오류를
Exception in thread "main" com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
at com.hazelcast.map.DefaultRecordStore.checkIfLoaded(DefaultRecordStore.java:138)
at com.hazelcast.map.operation.MapSizeOperation.run(MapSizeOperation.java:36)
at com.hazelcast.spi.impl.BasicOperationService.processOperation(BasicOperationService.java:363)
at com.hazelcast.spi.impl.BasicOperationService.processPacket(BasicOperationService.java:309)
at com.hazelcast.spi.impl.BasicOperationService.access$400(BasicOperationService.java:102)
at com.hazelcast.spi.impl.BasicOperationService$BasicOperationProcessorImpl.process(BasicOperationService.java:766)
at com.hazelcast.spi.impl.BasicOperationScheduler$PartitionThread.process(BasicOperationScheduler.java:276)
at com.hazelcast.spi.impl.BasicOperationScheduler$PartitionThread.doRun(BasicOperationScheduler.java:270)
at com.hazelcast.spi.impl.BasicOperationScheduler$PartitionThread.run(BasicOperationScheduler.java:245)
at ------ End remote and begin local stack-trace ------.(Unknown Source)
at com.hazelcast.spi.impl.BasicInvocation$InvocationFuture.resolveResponse(BasicInvocation.java:862)
at com.hazelcast.spi.impl.BasicInvocation$InvocationFuture.resolveResponseOrThrowException(BasicInvocation.java:795)
at com.hazelcast.spi.impl.BasicInvocation$InvocationFuture.get(BasicInvocation.java:698)
at com.hazelcast.spi.impl.BasicInvocation$InvocationFuture.get(BasicInvocation.java:676)
at com.hazelcast.spi.impl.BasicOperationService.invokeOnPartitions(BasicOperationService.java:623)
at com.hazelcast.spi.impl.BasicOperationService.invokeOnAllPartitions(BasicOperationService.java:549)
at com.hazelcast.client.ClientEngineImpl.invokeOnAllPartitions(ClientEngineImpl.java:175)
at com.hazelcast.client.AllPartitionsClientRequest.process(AllPartitionsClientRequest.java:29)
at com.hazelcast.client.ClientEngineImpl$ClientPacketProcessor.processRequest(ClientEngineImpl.java:499)
at com.hazelcast.client.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:446)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at com.hazelcast.util.executor.PoolExecutorThreadFactory$ManagedThread.run(PoolExecutorThreadFactory.java:59)
서버
2014-09-11 11:37:54,525 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=42, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,525 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=51, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,525 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=40, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,525 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=44, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,525 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=48, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,526 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=53, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,526 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=46, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,526 WARN c.h.s.i.BasicInvocation [hz._hzInstance_1_testApp.response] [xxx.xxx.xxx.xxx]:5701 [testApp] [3.2.4] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', [email protected], partitionId=55, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=240, callTimeout=60000, target=Address[192.168.110.159]:5701}, Reason: com.hazelcast.spi.exception.RetryableHazelcastException: Map is not ready!!!
2014-09-11 11:37:54,526 WARN c.h.
<map name="testMap">
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>1</async-backup-count>
<time-to-live-seconds>0</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">0</max-size>
<eviction-percentage>25</eviction-percentage>
<initial-load-mode>EAGER</initial-load-mode>
<map-store enabled="true">
<class-name>models.hazelcast.storeload.TestStoreLoad</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
<entry-listeners>
<entry-listener include-value="true" local="false">models.hazelcast.listeners.TestListener</entry-listener>
</entry-listeners>
<merge-policy>com.hazelcast.map.merge.PassThroughMergePolicy</merge-policy>
</map>
나는 XMS와 Xmx를 증가 시켰을뿐만 아니라 G1GC로 전환했고이 문제는 사라진 것으로 보인다. TOP는 거의 90 %의 메모리 사용량을 보여줍니다. 따라서 메모리 내 데이터를 줄이거 나 노드를 더 추가해야합니다. –