2017-08-30 35 views
0

從節點刪除了一個文件夾(索引):/ data3/data/es/esdartyprd/nodes/0/indices/enc_idx/2/index)在ElasticSearch中如何從副本中恢復數據?

我可以看到主數據碎片該節點(節點)=> 這個索引,在這裏給我帶來命令捲曲-XGET http://localhost:9200/_cat/shards

enc_idx   2 p STARTED 57824815 28.8gb 10.135.8.201 HDPESPRD1 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.8.202 HDPESPRD2 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.10.15 HDPESPRA1 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.8.203 HDPESPRD3 
enc_idx   2 r UNASSIGNED 

可以看到,數據指的是這個大師的節點1錯過!並且仍然有問題將數據分配給節點4

是否有可能從複製碎片中恢復或複製丟失的數據?這是自動完成的嗎?任何解決方案分配未分配的分片?在日誌中我發現一個文件從該文件夾損壞的錯誤:

[enc_idx][2] Corrupted index [corrupted_1ytPPpKkTZCGG_zQcbBG-w] caused by: CorruptIndexException[codec footer mismatch: actual footer=1063427 vs expected footer=-1071082520 (resource: NIOFSIndexInput(path="/data3/data/es/esdartyprd/nodes/0/indices/enc_idx/2/index/_3gv6_es090_0.pos"))] 

回答

0

執行以下操作 -

  • 集羣關機。
  • 將節點HDPESPRD2設置爲符合條件的主設備node.master: true
  • 重新啓動羣集中除節點HDPESPRD1 & unassigned節點以外的所有節點。

這將導致節點HDPESPRD2成爲新的主人。然後,您可以在清除其數據文件夾後重新加入其餘節點。一旦加入羣集,新副本將再次在其中創建。