使用solrCloud

时间:2016-12-26 15:56:01

标签: apache-zookeeper solrcloud manifoldcf

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

以下是执行环境。 java:1.8(但安装manifoldcf时为1.7) 动物园管理员:3.4.9

如果我使用manifoldcf开始工作,我可以抓住前几个项目。 但是,一段时间后,发生了zookeeper的连接错误,并且solrCloud配置的节点的一部分掉了。

以下是zookeeper的错误日志。

  

错误org.apache.solr.servlet.SolrDispatchFilter
  空:org.apache.zookeeper.KeeperException $ SessionExpiredException:   KeeperErrorCode = /aliases.json的会话已到期   org.apache.zookeeper.KeeperException.create(KeeperException.java:127)   在   org.apache.zookeeper.KeeperException.create(KeeperException.java:51)   在org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151)at   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)   在   org.apache.solr.common.cloud.ZkStateReader.updateAliases(ZkStateReader.java:556)   在   org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:296)   在   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)   在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)   在   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)   在   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   在   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)   在   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   在   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)   在   org.apache.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.SolrDispatchFilter
  空:org.apache.zookeeper.KeeperException $ SessionExpiredException:   KeeperErrorCode = /aliases.json的会话已到期   org.apache.zookeeper.KeeperException.create(KeeperException.java:127)

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

有人,请教。 感谢。

1 个答案:

答案 0 :(得分:1)

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

  

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

这可能表示您的客户长时间暂停 时间,可能抓取一个长文档或通过网络传输数据,足以使会话过期。 您可以按照here的说明尝试延长超时时间,但是如果不解决您的问题,它可能会稍微延长爬网时间。 请参阅zookeeper troubleshooting guide和/或this interesting post获取完整分辨率。