首页 > 解决方案 > 无法在 Solr Cloud 上备份和恢复

问题描述

我正在尝试在 SolrCloud 上测试集合的备份和恢复,但没有任何乐趣(版本 6.6.5)。

我正在做备份:

curl -f "http://127.0.0.1:8080/solr/admin/collections?action=BACKUP&name=$BACKUP_NAME&collection=$TARGET_COLLECTION&location=$BACKUP_LOCATION&wt=json"
{"responseHeader":{"status":0,"QTime":6370},"success":{"solr-2.search-solr.svc.cluster.local:8080_solr":{"responseHeader":{"status":0,"QTime":6143}}}}

但后来我试图运行恢复:

curl -v -f "http://127.0.0.1:8080/solr/admin/collections?action=RESTORE&name=at-uk&collection=at-uk-restore&location=/tmp&wt=json"
* About to connect() to 127.0.0.1 port 8080 (#0)
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /solr/admin/collections?action=RESTORE&name=at-uk&collection=at-uk-restore&location=/tmp&wt=json HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 127.0.0.1:8080
> Accept: */*
>
* The requested URL returned error: 500 Server Error
* Closing connection 0
curl: (22) The requested URL returned error: 500 Server Error

在 solr 日志中:

ERROR 2019-02-11 13:24:23,547 [OverseerThreadFactory-42-thread-5-processing-n:solr-2.search-solr.svc.cluster.local:8080_solr][SolrException.java:159] : Collection: at-uk-restore operation: restore failed:java.lang.NullPointerException
        at org.apache.solr.cloud.RestoreCmd.call(RestoreCmd.java:110)
        at org.apache.solr.cloud.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:226)
        at org.apache.solr.cloud.OverseerTaskProcessor$Runner.run(OverseerTaskProcessor.java:464)
        at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:229)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

ERROR 2019-02-11 13:24:23,555 [qtp157456214-655][SolrException.java:159] : null:org.apache.solr.common.SolrException
        at org.apache.solr.handler.admin.CollectionsHandler.handleResponse(CollectionsHandler.java:300)
        at org.apache.solr.handler.admin.CollectionsHandler.invokeAction(CollectionsHandler.java:237)
        at org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody(CollectionsHandler.java:215)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
        at org.apache.solr.servlet.HttpSolrCall.handleAdmin(HttpSolrCall.java:748)
        at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:729)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:510)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:361)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:305)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at org.eclipse.jetty.server.Server.handle(Server.java:534)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
        at java.lang.Thread.run(Thread.java:748)

标签: solrsolrcloud

解决方案


推荐阅读