我正在使用HTTP远程存储库还原ElasticSearch集群。 我有几个索引,每个索引都有一个碎片和一个副本。我的集群有3个节点。
当恢复期间发生网络故障(套接字超时)时,我的索引都标记为“未分配”,并且关闭/重新打开没有任何作用。
还原中出现网络故障时,这是预期的行为吗? 为什么ES无法使用副本存储还原到还原前的状态?
分配说明显示索引已损坏:
---
explanation:
index: "event-2020.05.15"
shard: 0
primary: true
current_state: "unassigned"
unassigned_info:
reason: "INDEX_REOPENED"
at: "2020-05-15T07:27:49.266Z"
last_allocation_status: "no_valid_shard_copy"
can_allocate: "no_valid_shard_copy"
allocate_explanation: "cannot allocate because all found copies of the shard are\
\ either stale or corrupt"
node_allocation_decisions:
- node_id: "5fIIsDsEQaa0C--jf0smzA"
node_name: "stretch64-vm9"
transport_address: "172.16.20.19:9300"
node_decision: "no"
store:
in_sync: true
allocation_id: "qyu9zRslRgiRY1SZuf9HpA"
store_exception:
type: "corrupt_index_exception"
reason: "Unexpected file read error while reading index. (resource=BufferedChecksumIndexInput(SimpleFSIndexInput(path=\"\
/var/elasticsearch/idx/nodes/0/indices/2wMoXs6-SyatKdgma6f1BA/0/index/segments_4\"\
)))"
caused_by:
type: "no_such_file_exception"
reason: "/var/elasticsearch/idx/nodes/0/indices/2wMoXs6-SyatKdgma6f1BA/0/index/_4.si"
- node_id: "jL1We097QOWuAg6bhl5tvw"
node_name: "stretch64-vm10"
transport_address: "172.16.20.20:9300"
node_decision: "no"
store:
in_sync: false
allocation_id: "zqsc5Lo0Q0iT66SpAxEVEw"
- node_id: "rt1Ga1ZeQJ2SuLqAvTbWpw"
node_name: "stretch64-vm8"
transport_address: "172.16.20.18:9300"
node_decision: "no"
store:
found: false