大多數ElasticSearch文檔討論通過REST API處理索引 - 是否有任何理由不能簡單地從磁盤移動或刪除索引文件夾?通過索引文件夾備份,刪除和恢復Elasticsearch索引
4
A
回答
4
您可以在磁盤上遷移數據,到一個點 -
如果Elasticsearch正在運行,這是從來沒有移動或刪除索引 文件夾是一個好主意,因爲Elasticsearch不知道發生了什麼數據,並且在您手動刪除它們之前, 將獲得各種日誌中的FileNotFoundExceptions
以及紅色的索引 。
如果Elasticsearch沒有運行,你可以移動索引文件夾到另一個節點( 例如,如果你是永久decomissioning一個節點,並得到 數據從需要)但是,如果刪除或文件夾移動到Elasticsearch在服務重新啓動時無法看到的地方,那麼Elasticsearch 將會不高興。這是因爲Elasticsearch將所謂的 羣集狀態寫入磁盤,並且在此羣集狀態下記錄索引,因此如果 ES啓動並且預計會找到索引「foo」,但您已刪除「foo」 索引目錄中,索引將保持紅色狀態,直到通過 REST API刪除。
因爲這樣,我會建議,如果要移動或刪除磁盤個體 索引的文件夾,您使用REST API只要有可能,因爲它是 可能得到ES爲不愉快的狀態,如果你刪除它預計 找到一個索引文件夾
編輯:我應該指出,它是安全的,從Elasticsearch的角度備份(備份)的索引文件夾, ,因爲它不修改 內容文件夾。有時候人們會這樣做,以執行恢復API之外的快照 &之外的備份。
5
我使用這個程序:我關閉,備份,然後刪除索引。
curl -XPOST "http://127.0.0.1:9200/*index_name*/_close"
在此之後,所有索引數據都在磁盤上並處於一致狀態,且無法寫入。我複製存儲索引的目錄,然後刪除它:
curl -XPOST "http://127.0.0.1:9200/*index_name*/_delete"
通過關閉索引,elasticsearch停止對索引的所有訪問。然後我發送一條命令刪除索引(以及磁盤上的所有相應文件)。
相關問題
- 1. Solrcloud備份和恢復索引數據
- 2. Elasticsearch索引備份選項
- 3. AppEngine:恢復備份後缺少索引
- 4. Elasticsearch:刪除索引中的重複項
- 5. Elasticsearch禁用刪除索引
- 6. 離線刪除Elasticsearch索引
- 7. 恢復已添加到索引,但隨後通過git刪除的文件
- 8. elasticsearch何時試圖恢復其索引?
- 9. 如何創建solr索引備份和恢復?
- 10. 恢復MySQL索引
- 11. 從索引和gitignore中刪除文件
- 12. htaccess刪除參數和索引文件
- 13. 如何從索引中恢復文件
- 14. 從索爾索引刪除文件 - 索引不觸及
- 15. 刪除elasticsearch中的舊索引
- 16. 刪除歸檔的Elasticsearch索引設置
- 17. 在Elasticsearch在索引中刪除
- 18. Elasticsearch:自動索引刪除/到期
- 19. Coffeescript通過索引刪除數組值
- 20. 試圖通過索引值刪除行
- 21. Python(numpy):通過索引刪除列
- 22. 如何通過索引刪除行
- 23. Elasticsearch索引文檔
- 24. 刪除索引
- 25. MySQL刪除索引和複製
- 26. 「Elasticsearch」搜索文件索引刷新
- 27. 複印通過索引
- 28. 如何清除ElasticSearch索引?
- 29. 刪除索引按索引名稱和類型使用elasticSearch 2.3.3在java
- 30. 從PHPstorm索引和錯誤搜索中排除文件夾
我知道這是舊的,我對聚會有點晚了,但你應該使用API而不是直接使用文件系統的一個原因是因爲Elastic Search經常作爲一個集羣與多臺機器一起運行,並且具有數據碎片。因此很難獲得涉及許多機器的索引的一致備份。 API處理這個問題,並且意味着由許多機器組成的集羣以這樣一種方式進行編排,即您可以正確備份數據。 – Belogix