2017-05-03 183 views
0

我已經使用docker hub的docker鏡像安裝了Ignite。 Ignite服務器節點正確啓動。但是,我在嘗試更新緩存時出現以下異常:Apache Ignite緩存操作失敗

[SEVERE][rest-#35%null%][GridCacheCommandHandler] Failed to execute cache command: GridRestCacheRequest [cacheName=null, cacheFlags=0, ttl=null, super=GridRestRequest [destId=null, clientId=466b7ff5-c303-452e-8f2d-97d59c753de5, addr=null, cmd=CACHE_PUT]] class org.apache.ignite.IgniteCheckedException: Failed to find cache for given cache name (null for default cache): null at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.localCache(GridCacheCommandHandler.java:754) at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.executeCommand(GridCacheCommandHandler.java:677) at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.handleAsync(GridCacheCommandHandler.java:468) at org.apache.ignite.internal.processors.rest.GridRestProcessor.handleRequest(GridRestProcessor.java:264) at org.apache.ignite.internal.processors.rest.GridRestProcessor.access$100(GridRestProcessor.java:87) at org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:153) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 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) [14:57:18,637][SEVERE][rest-#35%null%][GridRestProcessor] Failed to handle request: CACHE_PUT class org.apache.ignite.IgniteCheckedException: Failed to find cache for given cache name (null for default cache): null at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.localCache(GridCacheCommandHandler.java:754) at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.executeCommand(GridCacheCommandHandler.java:677) at org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler.handleAsync(GridCacheCommandHandler.java:468) at org.apache.ignite.internal.processors.rest.GridRestProcessor.handleRequest(GridRestProcessor.java:264) at org.apache.ignite.internal.processors.rest.GridRestProcessor.access$100(GridRestProcessor.java:87) at org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:153) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 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)

任何想法有什麼不好?

回答

1

您應該在開始使用它之前創建緩存。使用getOrCreateCache方法。

你可以閱讀doc的更多信息,並檢查這個使用緩存API的example

另外,在各種使用情況下,在apache點火中有很多例子。

+0

非常感謝您的答覆,我只是有點困惑,我從Linux的Docker鏡像啓動了點燃服務器。 我試過你的建議,它的工作原理,但我不知道如果點燃的服務器運行在當時它是Apache點燃泊塢窗圖像。 請你能解釋一下,我怎樣才能創建緩存形式的Linux爲Apache點燃泊塢窗圖像 謝謝你提前。 – biskrafte

+0

當你有這個異常時,你是如何嘗試訪問緩存的? –

+0

Ignite部分符合Redis規範,使用戶能夠使用任何Redis兼容客戶端從Apache Ignite緩存存儲和檢索分佈式數據。 – biskrafte