sphinx rotate 執行機制

2021-09-08 17:34:02 字數 638 閱讀 8374

如果sphinx在執行中,要indexer時,需要加上--rotate引數,這樣索引完就直接生效了。

原因是sphinx的searchd在啟動時會建立乙個 .spl 鎖檔案,並在關閉時會刪除它。在indexer建立索引時如果發現有 .spl檔案,則不會建立新索引,因為這時已經標誌sphinx正在執行中,除非使用 –rotate。

rotate執行機制

->indexer完成索引  

->傳送sighup 給searchd(同時在終端輸出索引已經完成)

->searchd接到中斷訊號->等待所有子程序退出

->重新命名 當前索引為舊索引為 .old

->重新命名 .new 索引檔案作為當前索引

->嘗試載入當前索引檔案->如果載入失敗,searchd會把.old檔案回滾為當前檔案,並把剛建立的新索引重新命名為 .new

->載入成的話:完成無縫切換

手動重啟的兩種辦法:

1.

關閉searchd :killall -9

searchd

重啟 searchd :searchd -c ../sphinx.conf

2.

關閉:searchd --stop

啟動:searchd

sphinx rotate機制詳解

今日,發現sphinx出現 sphinx.new.sp 諸多檔案。出現這樣的情況是因為 searchd沒有載入新索引檔案。遂google之,到sphinx官網論壇後得知rotate的機制後方解決!sphinx的searchd在啟動時會建立乙個 spl 鎖檔案,並在關閉時會刪除它。在indexer建立...

sphinx rotate機制詳解

今日,發現sphinx出現 sphinx.new.sp 諸多檔案。出現這樣的情況是因為 searchd沒有載入新索引檔案。遂google之,到sphinx官網論壇後得知rotate的機制後方解決!sphinx的searchd在啟動時會建立乙個 spl 鎖檔案,並在關閉時會刪除它。在indexer建立...

sphinx rotate機制詳解

sphinx的searchd在啟動時會建立乙個 spl 鎖檔案,並在關閉時會刪除它。在indexer建立索引時如果發現有 spl檔案,則不會建立新索引,因為這時已經標誌sphinx正在執行中,除非使用 rotate。roate執行機制 indexer完成索引 傳送sighup 給searchd 同時...