Solr 6.x无法在一个Debian Jessie 8.6上创建集合

时间:2016-11-03 08:32:30

标签: solr

尝试在Debian Jessie上安装Solr 6.2.1我遇到了障碍,我无法创建集合。命令序列

unzip solr-6.2.1.zip
export JAVA_HOME=/opt/java64/jdk1.8.0_101
./solr-6.2.1/bin/solr -c
./solr-6.2.1/bin/solr create_collection -c hktesting

不可能更加无辜,并且可以在另一个Debian Jessie以及Ubuntu 16.10上运行。但是,在这台机器上,create_collection会进入超时状态。我甚至使用了一个没有任何dotfile自定义的新添加的用户。

完整的日志很长,所以我尝试选择我认为相关的行。这一切都很好地开始:

2016-11-03 08:08:36.360 INFO  (qtp110456297-20) [   ] o.a.s.h.a.CollectionsHandler Invoked Collection Action :create with params replicationFactor=1&maxShardsPerNode=1&collection.configName=hktesting&name=hktesting&action=CREATE&numShards=1&wt=json and sendToOCPQueue=true

后面的消息看起来都很好,显示了创建集合的很多事情。这一切都来自中间结束:

2016-11-03 08:08:38.399 WARN  (qtp110456297-18) [c:hktesting s:shard1 r:core_node1 x:hktesting_shard1_replica1] o.a.s.c.SolrCore [hktesting_shard1_replica1] Solr index directory '/home/badsolr/tmp/solr-6.2.1/server/solr/hktesting_shard1_replica1/data/index' doesn't exist. Creating new index...
2016-11-03 08:08:38.408 INFO  (qtp110456297-18) [c:hktesting s:shard1 r:core_node1 x:hktesting_shard1_replica1] o.a.s.c.CachingDirectoryFactory return new directory for /home/badsolr/tmp/solr-6.2.1/server/solr/hktesting_shard1_replica1/data/index

我看起来还不错。然后在日志中出现一个三分钟的洞,没有任何事情发生,之后报告失败:

2016-11-03 08:11:36.373 ERROR (qtp110456297-20) [   ] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: create the collection time out:180s
at org.apache.solr.handler.admin.CollectionsHandler.handleResponse(CollectionsHandler.java:289)
at org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody(CollectionsHandler.java:215)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:154)
at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:658)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:440)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
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:1160)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
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.server.Server.handle(Server.java:518)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
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.produceAndRun(ExecuteProduceConsume.java:246)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)

这台机器启用了kerberos身份验证,这是我所知道的其他机器唯一可能相关的差异(但不要妄下结论)。

1 个答案:

答案 0 :(得分:1)

原来,/media上的挂载没有响应。即使ls /media永远挂了。使用strace我可以看到Solr在尝试访问/media时卡住了。在strace日志中,我可以看到Solr首先在mtab中读取,然后进入/media。不是我会知道为什么Solr应该关心mtab和这个挂载点,但是在修复了挂载之后,Solr开始正常工作。