请有人解释一下'快照'索引是什么,以及应该怎样做才能使我的ES群集再次变为绿色?我一直在做的就是:
我正在创建一个仍在运行1.3.4的旧ElasticSearch集群的快照。
我已经设置了文件系统存储库,然后尝试使用以下命令创建快照:
curl -XPUT 'http://127.0.0.1:9900/snapshot/es_hot_backup/snapshot_1'
然而,这给出了一个错误:
{"error":"MapperParsingException[failed to parse, document is empty]","status":400}
使用' ignore_unavailable'再次运行命令设置,像这样:
curl -XPUT "http://127.0.0.1:9900/_snapshot/es_hot_backup/snapshot_1" -d '{
"ignore_unavailable": true
}'
该命令似乎有效
{"accepted":true}
但是现在群集的状态不再是绿色,因为它似乎是一个快照'已创建索引,但这意味着它不会在群集中复制:
http://127.0.0.1:9900/_cat/shards?v
index shard prirep state docs store ip node
snapshot 2 p STARTED 0 115b 172.18.0.2 Space Turnip
snapshot 2 r UNASSIGNED
snapshot 0 p STARTED 0 115b 172.18.0.2 Space Turnip
snapshot 0 r UNASSIGNED
snapshot 3 p STARTED 0 115b 172.18.0.2 Space Turnip
snapshot 3 r UNASSIGNED
snapshot 1 p STARTED 0 115b 172.18.0.2 Space Turnip
snapshot 1 r UNASSIGNED
snapshot 4 p STARTED 0 115b 172.18.0.2 Space Turnip
snapshot 4 r UNASSIGNED
(我最初开始在生产中运行快照,但是在初始快照命令发出奇怪错误后切换到测试环境。是的,我应该从一开始就在测试中完成。:p)。
请有人建议我应该如何处理非复制索引,以便使ElasticSearch集群再次变为绿色。
答案 0 :(得分:1)
你的第一个命令是错误的:没有snapshot
个端点,但是_snapshot
个端点(注意下划线)。当您添加ignore_unavailable
选项时,您还将端点更改为正确的端点。使用未知的snapshot
端点,您刚刚告诉ES创建snapshot
索引。
此时,您可以安全地删除snapshot
索引。