2013-04-12 83 views
5

我這個星期有一個問題與Solr的指標:http://lucene.472066.n3.nabble.com/corrupted-index-in-slave-td4054769.htmlSolrCloud VS Solr的主從複製

今天,這個錯誤開始,幾乎每一個要求不斷地發生,我創建了一個JIRA問題becaue我認爲這是一個錯誤https://issues.apache.org/jira/browse/SOLR-4707

正如你可以看到,最終它是由於Solr主從複製失敗,現在我不知道是否應該考慮遷移到SolrCloud,因爲Solr主從複製似乎不符合我們的要求:

  • 指數尺寸:約20萬份文件,〜9GB
  • 〜1200更新/分鐘
  • 〜10000個查詢/分鐘(分佈在2奴隸)MoreLikeThis,RealTimeGet,TermVectorComponent,SearchHandler

我要感謝你如果有人可以幫助我來回答這些問題:

  • 難道是可取的遷移到SolrCloud?它會對複製性能產生影響嗎?
  • 在這種情況下,會有更好的表現嗎?在每臺服務器上維護索引的副本,還是使用分片服務器?
  • 您會爲了確保高可用性而建議多少個分片和副本?

親切的問候,

維克多

+0

如果你能稍等一會,Solr 5將在明年內推出,並且它有一系列積極的變化,進一步支持SolrCloud。 IMO 4.x對SolrCloud的支持需要大量的進一步維護,所以如果您可以等待,我會等待。還決定如何碎片爛。 – Xinzz

+0

感謝這篇文章http:// searchhub,我解決了這個問題。org/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud /在閱讀它之後,我可以理解,根據我們的要求,軟提交時間被錯誤地配置(索引繁重,查詢繁重),我們有太多的軟提交,但我們並不需要實時提供數據。因此,正如文章所建議的那樣,我試圖將軟提交間隔設置得相當長,但是在我的情況下15秒鐘很難實現一個小的值。 – vruizext

+0

此外,通過發送包含多個項目的「批量」更新消息來優化索引過程,而不是爲每個要索引的項目發送一個請求,並選擇更好的策略來緩存查詢結果,這有助於減少solr服務器的負載並提高所提供服務的整體質量 – vruizext

回答

3

好了,回答你所有的問題取決於正是你從solrcloud想要的東西。

  • 是的,這將是可取的移動到solrcloud因爲它提供了高可用性,可擴展性和近實時搜索以及自動熱複製。但這些功能來稍微性能下降的成本(您想即使在配置良好的集羣中也是如此)
  • 我建議你應該使用共享配置來允許solr爲你保留索引數據(如果你這麼做,我相信你會給TechOps人帶來微笑)。這也將減少人爲錯誤和資源需求。
  • 回答最後一個問題完全取決於您的雲部署。您應該嘗試使用2個分片2副本配置,然後創建測試部署以確保它滿足您的需求。如果不是,請嘗試使用分片和副本計數的不同組合直到你得到你想要的東西(我知道它的痛苦!)。

最後不要忘了估計你未來的增長(你有多少數據添加到集羣中的未來的一兩年),並牢記,你應該決定碎片和副本