クライアントサーバモードを使用してApache Igniteを評価しようとしています。私はHazelcastとInfinispanを使用していくつかの事前経験があるので、私はIMDGの背景から来ています。クライアント/サーバモードでのApache Igniteの使用
Igniteをクライアント/サーバーモードで初めて使用した経験はあまり滑らかではありません。私は意見が聞こえるかもしれませんが、高度なユースケースの大半は組込みサーバーモードの観点から適切であると感じました。
質問:
私は多くを持っているが、私は、私が今直面しています1を公開しています。私はv2.1.0を使用しています。私はイグナイトのdurable memory
機能を利用しようとしています。だから私は、ドキュメントで説明されているように、私のサーバー構成で永続性を有効にしています。私はignite.activate(true)
、コードハングを設定した場合、ブロックされた(
class org.apache.ignite.IgniteException: Can not perform the operation because the cluster is inactive. Note, that the cluster is considered inactive by default if Ignite Persistent Store is used to let all the nodes join the cluster. To activate the cluster call Ignite.activate(true).
at org.apache.ignite.internal.IgniteKernal.checkClusterState(IgniteKernal.java:3712)
at org.apache.ignite.internal.IgniteKernal.getOrCreateCache0(IgniteKernal.java:2837)
at org.apache.ignite.internal.IgniteKernal.getOrCreateCache(IgniteKernal.java:2824)
:
<property name="persistentStoreConfiguration">
<bean class="org.apache.ignite.configuration.PersistentStoreConfiguration"/>
</property>
は今、私は
Ignition.setClientMode(true);
IgniteConfiguration cfg = new IgniteConfiguration();
//cfg.setPeerClassLoadingEnabled(true);
TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
commSpi.setSlowClientQueueLimit(1000);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder ipfinder = new TcpDiscoveryVmIpFinder();
ipfinder.setAddresses(Arrays.asList("localhost"));
discoverySpi.setIpFinder(ipfinder);
cfg.setCommunicationSpi(commSpi);
cfg.setDiscoverySpi(discoverySpi);
ignite = Ignition.start(cfg);
//ignite.active(true);
CacheConfiguration<String, Person> config = new CacheConfiguration<>("Person");
config.setCacheMode(CacheMode.PARTITIONED);
//config.setOnheapCacheEnabled(true);
//config.setEvictionPolicy(new LruEvictionPolicy<>(2));
ignite.getOrCreateCache(config);
は、私は次の例外を取得するコードと、クライアントから接続しようとすると、 ?待っている?)。なぜ私のクライアントはデータノードとして参加していないのですか?私はここに何かを逃していますかどんな助けもありがとう。
これは私がサーバー上で見る例外です。
[13:54:52] Topology snapshot [ver=5, servers=1, clients=0, CPUs=4, heap=0.13GB]
[14:02:19] Topology snapshot [ver=6, servers=1, clients=1, CPUs=4, heap=1.9GB]
[14:02:20] Default checkpoint page buffer size is too small, setting to an adjusted value: 1.6 GiB
[14:02:20,446][SEVERE][exchange-worker-#34%null%][GridDhtPartitionsExchangeFuture] Failed to reinitialize local partitions (preloading will be stopped
): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=6, minorTopVer=1], nodeId=bccb36d2, evt=DISCOVERY_CUSTOM_EVT]
java.lang.OutOfMemoryError
at sun.misc.Unsafe.allocateMemory(Native Method)
at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1054)
at org.apache.ignite.internal.mem.unsafe.UnsafeMemoryProvider.nextRegion(UnsafeMemoryProvider.java:80)
at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.start(PageMemoryImpl.java:276)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.startMemoryPolicies(IgniteCacheDatabaseSharedManag
er.java:194)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.onActivate(IgniteCacheDatabaseSharedManager.java:9
49)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.onActivate(GridCacheDatabaseSharedManager.java:459)
at org.apache.ignite.internal.processors.cache.GridCacheSharedContext.activate(GridCacheSharedContext.java:244)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPa
rtitionsExchangeFuture.java:762)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.
java:574)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:19
01)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:745)
[14:02:20,478][SEVERE][exchange-worker-#34%null%][GridCachePartitionExchangeManager] Runtime error caught during grid runnable execution: GridWorker [
name=partition-exchanger, igniteInstanceName=null, finished=false, hashCode=1380507612, interrupted=false, runner=exchange-worker-#34%null%]
java.lang.OutOfMemoryError
at sun.misc.Unsafe.allocateMemory(Native Method)
at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1054)
at org.apache.ignite.internal.mem.unsafe.UnsafeMemoryProvider.nextRegion(UnsafeMemoryProvider.java:80)
at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.start(PageMemoryImpl.java:276)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.startMemoryPolicies(IgniteCacheDatabaseSharedManag
er.java:194)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.onActivate(IgniteCacheDatabaseSharedManager.java:9
49)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.onActivate(GridCacheDatabaseSharedManager.java:459)
at org.apache.ignite.internal.processors.cache.GridCacheSharedContext.activate(GridCacheSharedContext.java:244)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPa
rtitionsExchangeFuture.java:762)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.
java:574)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:19
01)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "exchange-worker-#34%null%" java.lang.OutOfMemoryError
at sun.misc.Unsafe.allocateMemory(Native Method)
at org.apache.ignite.internal.util.GridUnsafe.allocateMemory(GridUnsafe.java:1054)
at org.apache.ignite.internal.mem.unsafe.UnsafeMemoryProvider.nextRegion(UnsafeMemoryProvider.java:80)
at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.start(PageMemoryImpl.java:276)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.startMemoryPolicies(IgniteCacheDatabaseSharedManag
er.java:194)
at org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.onActivate(IgniteCacheDatabaseSharedManager.java:9
49)
at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.onActivate(GridCacheDatabaseSharedManager.java:459)
at org.apache.ignite.internal.processors.cache.GridCacheSharedContext.activate(GridCacheSharedContext.java:244)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPa
rtitionsExchangeFuture.java:762)
at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.
java:574)
at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:19
01)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:745)
[14:02:20,846][SEVERE][query-#174%null%][msg] Received message without registered handler (will ignore) [msg=GridCacheQueryRequest [id=3, cacheName=ig
nite-sys-cache, type=SCAN, fields=false, clause=null, clsName=null, keyValFilter=null, rdc=null, trans=null, pageSize=1024, incBackups=false, cancel=f
alse, incMeta=false, all=false, keepBinary=false, subjId=61cfa42e-40af-473d-a9f6-2fe249d66910, taskHash=0, part=-1, topVer=AffinityTopologyVersion [to
pVer=6, minorTopVer=1], super=GridCacheIdMessage [cacheId=-2100569601]], node=61cfa42e-40af-473d-a9f6-2fe249d66910, locTopVer=AffinityTopologyVersion
[topVer=-1, minorTopVer=0], msgTopVer=AffinityTopologyVersion [topVer=6, minorTopVer=1], desc=DynamicCacheDescriptor [deploymentId=4093bcfdd51-bae6026
e-62b0-4189-854b-9efa4b8bf23f, staticCfg=true, sql=false, cacheType=UTILITY, template=false, updatesAllowed=true, cacheId=-2100569601, rcvdFrom=bccb36
d2-2c8f-4642-b84d-63b5dd2ab93b, objCtx=null, rcvdOnDiscovery=false, startTopVer=AffinityTopologyVersion [topVer=6, minorTopVer=0], rcvdFromVer=Affinit
yTopologyVersion [topVer=1, minorTopVer=0], clientCacheStartVer=null, schema=QuerySchema [], grpDesc=CacheGroupDescriptor [grpId=-2100569601, grpName=
null, startTopVer=null, rcvdFrom=bccb36d2-2c8f-4642-b84d-63b5dd2ab93b, deploymentId=4093bcfdd51-bae6026e-62b0-4189-854b-9efa4b8bf23f, caches={ignite-s
ys-cache=-2100569601}, rcvdFromVer=AffinityTopologyVersion [topVer=1, minorTopVer=0], cacheName=ignite-sys-cache], cacheName=ignite-sys-cache]]
Registered listeners:
ため、このdocumentationは、私は、サーバーのログを追加したノード –
@EvgeniiZhuravlevから完全なログとスレッドダンプを共有してください
チェック。私は単一のサーバーノードを持っています。もう1つのポイントは、私は128mの最小/最大ヒープでサーバーを起動したことです。 –