2016-03-02 44 views
0

我solr設置,這是配置爲主和奴隸。索引在主服務器中進行,從服務器從主服務器每隔2分鐘複製一次索引。所以從主機到從機獲取數據的延遲時間爲2分鐘。假設我的主人在10:42索引了一些數據,但由於某些硬件問題,主人在10:43下降了。因此,現在在10:42索引的數據假設在10:44複製到Slave(因爲我們設置了兩分鐘的時間間隔)。由於現在主服務器不可用,所以如何識別solr主服務器中最後索引的數據。索爾日誌中是否有方法跟蹤索引活動。如何處理solr複製時主停機

由於提前

回答

1

Solr的確實記錄的索引操作,如果你有Solr的日誌設置爲INFO。任何提交/添加都將顯示在日誌中,因此您可以檢查最後一次添加的日誌。但是,根據設置,當服務器關閉時可能很難獲得最後一個日誌。

您可以縮短複製之間的時間以獲得更多實時複製,或者改爲使用SolrCloud(它應該在文檔被索引時分發這些文檔)。

還有一些API端點(查看Admin界面在瀏覽到「複製」狀態頁面時所做的連接)以獲取複製狀態,但如果服務器不在,這些端點無法幫助您。

一般來說 - 如果服務器不可用,那麼您很難分辨它上次編制索引的時間。通過在索引任務中存儲Solr以外的索引時間,可以解決幾個問題,例如,每次從應用程序發送索引時,都會更新memcache或MySQL中的值。