1

我使用 solrCloud 6.1.0。我试图用manifoldcf2.4 爬行。但它不起作用。

下面是执行环境。java:1.8(但是安装manifoldcf的时候是1.7) zookeeper:3.4.9

如果我从manifoldcf 开始工作,我可以抓取前几项。但是过了一会儿,又出现了zookeeper的连接错误,solrCloud配置的部分节点掉了。

下面是zookeeper的错误日志。

错误 org.apache.solr.servlet.SolrDispatchFilter
null:org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = org.apache.zookeeper.KeeperException.create(KeeperException.java:127) at org.apache.zookeeper.KeeperException.create(KeeperException .java:51) 在 org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151) 在 org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:252) 在 org.apache.solr .common.cloud.SolrZkClient$7.execute(SolrZkClient.java:249) 在 org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:65) 在 org.apache.solr.common.cloud.SolrZkClient。 getData(SolrZkClient.java:249) at org.apache.solr.common.cloud.ZkStateReader.updateAliases(ZkStateReader.java:556) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:296) at org .apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:169) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:206) 在 org.apache.solr.servlet.ProxyUserFilter.doFilter(ProxyUserFilter.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core .ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(SolrHadoopAuthenticationFilter.java:140) 在 org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter. java:384) 在 org.apache.solr.servlet.SolrHadoopAuthenticationFilter。doFilter(SolrHadoopAuthenticationFilter.java:145) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache .solr.servlet.HostnameFilter.doFilter(HostnameFilter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java :206) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core 的 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)。 StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve。在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 调用(ErrorReportValve.java:103) .coyote.http11.Http11Processor.process(Http11Processor.java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker .run(JIoEndpoint.java:489) 在 java.lang.Thread.run(Thread.java:662) 错误 org.apache.solr.servlet.SolrDispatchFilterapache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run( Thread.java:662) 错误 org.apache.solr.servlet.SolrDispatchFilterapache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run( Thread.java:662) 错误 org.apache.solr.servlet.SolrDispatchFilter
null:org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = org.apache.zookeeper.KeeperException.create(KeeperException.java:127) 的 /aliases.json 会话过期

我不知道为什么动物园管理员在爬行的过程中被切断了。

有人请教。谢谢。

4

1 回答 1

3

您的问题是会话到期,因为错误本身说:

org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = /aliases.json的会话已过期

这可能表明您的客户端暂停了很长时间,可能会爬取较长的文档或通过网络传输数据,足以使会话过期。您可以尝试按照此处的说明延长超时期限,但有可能只是稍微延长抓取期限而无法解决您的问题。请参阅zookeeper 故障排除指南和/或这篇有趣的帖子以获得完整的解决方案。

于 2016-12-28T13:26:26.940 回答