簡體   English   中英

Zookeeper的Solr中的Zookeeper超時沒有錯誤

[英]Zookeeper timeouts without error in zookeeper Solr

我們在solr / zookeeper中遇到的問題是zookeeper在10000ms后超時。 錯誤如下。

SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper <server1>:9181,<server2>:9182,<server2>:9183 within 10000 ms.
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:184)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:121)

Zookeeper日志中沒有任何錯誤。以下日志除外

2018-12-19 04:35:22,305 [myid:2] - INFO  [SessionTracker:ZooKeeperServer@354] - Expiring session 0x200830234de3127, timeout of 10000ms exceeded
2018-12-19 05:35:38,304 [myid:2] - INFO  [SessionTracker:ZooKeeperServer@354] - Expiring session 0x200b4f912730086, timeout of 10000ms exceeded

在問題期間,線程變高,我們可能會在weblogic服務器中注意到以下內容。

Name: Connection evictor
State: TIMED_WAITING
Total blocked: 0  Total waited: 1
Stack trace: 
java.lang.Thread.sleep(Native Method)
org.apache.http.impl.client.IdleConnectionEvictor$1.run(IdleConnectionEvictor.java:66)
java.lang.Thread.run(Thread.java:748)

這里可能出什么問題了?

以我的經驗,ZK超時幾乎總是歸因於Solr節點上的某件事,而不是ZK中的問題。

您沒有提供所有時間戳,但理論是:

  1. Solr由於某些原因無法發送心跳
  2. ZK假定客戶端已離開並關閉連接
  3. Solr嘗試使用ZK關閉的連接

那么,為什么Solr節點無法發送心跳? 這可能是因為Solr節點只是過載(線程尖峰是原因,還是症狀?),或者只是通過很長時間的GC暫停也可以做到。

暫無
暫無

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

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