[英]Elasticsearch Snapshot failed - Cannot Restore
我正在嘗試將數據從一個實例移動到另一個 elasticsearch 實例。 我已經創建了此處提到的角色和 s3 存儲桶。
我已經在兩個實例中注冊了存儲庫,快照創建成功,s3 有新對象。 但是當我運行恢復命令時。 我收到如下錯誤
:[{"type":"snapshot_restore_exception","reason":"[test:sample5/xcMBVd21SQky8E2TX8Z76xf] index [example] wasn't fully snapshotted - cannot restore"}]
我使用 python 腳本創建了一個快照,
path = '_snapshot/test/' + sampe_snap
url = host + path
payload = {
"indices": "example",
"include_global_state": False
}
r = requests.put(url, json=payload, auth=awsauth)
返回
{"accepted":true}
為了調試,我使用了 Kibana 並搜索了快照。 它顯示如下
GET _snapshot/test/sampe_snap
....
"indices" : [ "example" ],
"include_global_state" : false,
"state" : "PARTIAL",
"start_time" : "2021-02-04T11:14:22.153Z",
"start_time_in_millis" : 1612437262153,
"end_time" : "2021-02-04T11:14:22.554Z",
"end_time_in_millis" : 1612437262554,
"duration_in_millis" : 401,
"failures" : [ {
"index" : "example",
"index_uuid" : "example",
"shard_id" : 3,
"reason" : """java.nio.file.NoSuchFileException: Blob object [indices/TJz0FNoGQUfvJ5pbTFLyQ/3/index-f16nCDQoiRl4UV8vCFSA] not found: The specified key does not exist.
(Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey...;
為什么會失敗?
錯誤信息很清楚:
索引 [示例] 未完全快照 - 無法恢復
這意味着您嘗試恢復的索引沒有完全快照,因此無法恢復。
從快照細節中可以看出,它有一個state PARTIAL
,這意味着並非索引的所有分片都可以成功快照。 在您的情況下, example
索引的 3 號分片未成功快照,因此,在 S3 存儲桶中找不到該分片的段(即index-f16nCDQoiRl4UV8vCFSA
),因此無法恢復索引。
您可以嘗試通過設置partial: true
來恢復該部分快照,但所有丟失的分片都為空,因此您可能缺少一些數據。
也許嘗試另一個更早或更晚創建的快照。
這里的問題是快照以PARTIAL
state 而不是SUCCESS
state 結束。
快照以 PARTIAL state 結尾的原因是由於索引TJz0FNoGQUfvJ5pbTFLyQ
(索引example
的快照索引 id)的分片shard 3
內的 S3 存儲庫index-f16nCDQoiRl4UV8vCFSA
文件中的某些問題。 這是存儲庫損壞的明顯案例。
"reason" : """java.nio.file.NoSuchFileException: Blob object [indices/TJz0FNoGQUfvJ5pbTFLyQ/3/index-f16nCDQoiRl4UV8vCFSA] not found: The specified key does not exist.
當集群負載很重(JVM > 80% 或 CPU 利用率 >80%)並且很少有節點從集群中退出時,會觀察到這種存儲庫損壞。
解決此問題的一種方法是刪除所有引用 index: example
的快照。 這將清理索引example
的 S3 快照文件,現在當您拍攝新快照時,一切都會重新開始。
為了更安全,我建議聯系 AWS 支持來修復這種類型的存儲庫損壞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.