我使用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)
我不知道为什么动物园管理员会在爬行过程中被切断。
有人,请教。 感谢。
答案 0 :(得分:1)
您的问题是会话过期,因为错误本身说:
org.apache.zookeeper.KeeperException $ SessionExpiredException: 针对/aliases.json的KeeperErrorCode = 会话已过期
这可能表示您的客户长时间暂停 时间,可能抓取一个长文档或通过网络传输数据,足以使会话过期。 您可以按照here的说明尝试延长超时时间,但是如果不解决您的问题,它可能会稍微延长爬网时间。 请参阅zookeeper troubleshooting guide和/或this interesting post获取完整分辨率。