簡體   English   中英

具有solr的Datastax Enterprise Edition 4.5,但出現solr超時

[英]Datastax Enterprise Edition 4.5 with solr but getting solr timeouts

我們剛剛從DataStax Enteprise 3.2.2升級到4.5.1。 每次按照文檔中的步驟從3.2.2-> 3.2.5-> 4.0.3-> 4.5.1遷移,並在每次升級后升級sstables。

服務器正在運行,核心正在正常接受查詢。

出於某種原因,我們經常使用solr / c * / dse的默認配置,這通常導致solr的連接超時。 我們觸發的查詢與使用啟用了Solr的DSE 3.2.2時觸發的查詢沒有什么不同,在那里我們沒有遇到這些問題。

從3.2.2更改為4.5會影響Solr的連通性嗎?

服務器日志顯示:

錯誤[http-8983-1] 2014-08-01 19:12:52,087 SolrException.java(第136行)null:org.apache.solr.common.SolrException:超時后無響應:com.datastax.bdp為60000。在org.com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.takeCompletedOrError(NettyShardHandler.java:89)處的search.solr.handler.shard.netty.NettyShardHandler.waitForResponse(NettyShardHandler.java:115)。 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:137)上的apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:297)(org.apache.solr.core.SolrCore.execute( org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:723)的com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.execute(CassandraDispatchFilter.java:185)的SolrCore.java:1888) org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)上的.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)在com.datastax.bd p.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:147)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)在org.apache.catalina.core.ApplicationFilterChain.doFilter( com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:218)上的com.datastax.bdp.cassandra.audit.org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)上的ApplicationFilterChain.java:206) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter上的.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)位於com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:100) (ApplicationFilterChain.java:235)位於org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)位於com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:102) org.apa 位於org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)的che.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)在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 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)處org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)處的.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.tomcat.util.net上的org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:606) JIoEndpoint $ Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(未知源)錯誤[http-8983-1] 201 4-08-01 19:12:52,088 SolrDispatchFilter.java(行696)錯誤請求異常:超時后無響應:60000 org.apache.solr.common.SolrException:超時后無響應:com.datastax.bdp處為60000。在org.com.datastax.bdp.search.solr.handler.shard.netty.NettyShardHandler.takeCompletedOrError(NettyShardHandler.java:89)處的search.solr.handler.shard.netty.NettyShardHandler.waitForResponse(NettyShardHandler.java:115)。 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:137)上的apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:297)(org.apache.solr.core.SolrCore.execute( org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:723)的com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.execute(CassandraDispatchFilter.java:185)的SolrCore.java:1888) org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatch)的.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413) com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:147)處的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)處的Filter.java:197) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter上的.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:218) (ApplicationFilterChain.java:235)位於org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)位於com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:100) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)上的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)在com.datastax.bdp.search.solr.auth處。 DseAuthenticationFilter.doFilter(DseAuthen ticationFilter.java:102)位於org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)位於org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)位於org.apache.catalina org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)上的.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) )的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)的org.apache.catalina.connector.CoyoteAdapter。 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)處的服務(CoyoteAdapter.java:293)org.org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:606)處的服務(CoyoteAdapter.java:293) .apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)在java.lang.Thread.run(Unkn 自己的源代碼)錯誤[http-8983-1] 2014-08-01 19:12:52,089 SolrDispatchFilter.java(第697行)錯誤請求參數:facet = true&facet.mincount = 1&q = retailer_id:35788 + AND + -ds_product_id:310772487595&facet。 limit = 10&facet.field = ds_product_id&wt = javabin&version = 2&rows = 0

最好,拉莫

應該沒有問題,您運行了多少並發查詢,以及有多少Solr內核? 如果僅在單個內核上運行查詢,是否有任何變化? 您的查詢是否長期運行?

請記住,默認的Solr HTTP配置沒有超時,這通常是一件壞事,它使用的是舊的IO模型,該模型會生成數百個線程,而我們的Netty配置的超時為60秒,並且經過優化以使用更少的線程減少占用空間,因此,如果您的查詢運行時間很長,在Netty情況下,您必須增加超時時間,並可能增加工作線程的數量。

Netty的默認超時為60秒。 請參閱dse.yaml中的netty_client_request_timeout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM