在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

昨日连续死了两个节点,造成两个分片无法使用了,但数据还在,付费求高人协助恢复。

Elasticsearch | 作者 goldhoe | 发布于2019年06月17日 | 阅读数:1530

昨日连续死了两个节点,造成两个分片无法使用了,但数据还在,付费求高人协助恢复。
 
环境:windows2012
ES版本6.2.3

TIM截图20190617031437.png


TIM截图20190617031816.png

 
网上我找的修复语句,发现没有用。我在CMD窗口里也执行不好。

 curl -XPOST ' 10.180.1.8:9200/_cluster/reroute' -d '{
"commands" : [ {
"allocate" : {
"index" : "wenku",
"shard" : 0,
"node" : "F2TcwSI6RciNOo7t15Tg8w",
"allow_primary" : true
}
}
] }'
 
其中,F2TcwSI6RciNOo7t15Tg8w是当前活动节点的master标识。
我的QQ89566086咨询时请带价。
已邀请:

Jea - 一只猿

赞同来自: kr9226

执行:/_cluster/allocation/explain 看下原因
https://www.elastic.co/guide/e ... ponse
这个里面有相关的解释,对应的错误在下面的文档里
 
之前我记录的别人关于unassigned shard的解释,转给你一份。自己解决的过程得到是更多的!
索引是比较大,如果可能的话先重建回复业务比较好 
 
1)INDEX_CREATED:由于创建索引的API导致未分配。
2)CLUSTER_RECOVERED :由于完全集群恢复导致未分配。
3)INDEX_REOPENED :由于打开open或关闭close一个索引导致未分配。
4)DANGLING_INDEX_IMPORTED :由于导入dangling索引的结果导致未分配。
5)NEW_INDEX_RESTORED :由于恢复到新索引导致未分配。
6)EXISTING_INDEX_RESTORED :由于恢复到已关闭的索引导致未分配。
7)REPLICA_ADDED:由于显式添加副本分片导致未分配。
8)ALLOCATION_FAILED :由于分片分配失败导致未分配。
9)NODE_LEFT :由于承载该分片的节点离开集群导致未分配。
10)REINITIALIZED :由于当分片从开始移动到初始化时导致未分配(例如,使用影子shadow副本分片)。
11)REROUTE_CANCELLED :作为显式取消重新路由命令的结果取消分配。
12)REALLOCATED_REPLICA :确定更好的副本位置被标定使用,导致现有的副本分配被取消,出现未分配。

lz8086 - es小司机

赞同来自:

首要做法不应该是起节点 启服务吗

zqc0512 - andy zhou

赞同来自:

把那个节点起来先看看……
 

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

集群红色解决方案:https://blog.csdn.net/laoyang3 ... 43006
集群黄色解决方案:https://elastic.blog.csdn.net/ ... 71491
 
每个链接最后的方案,和版本有关系。你找一下官方最新api 验证一下。
 
一般:节点重启加入集群后就会恢复正常。
注意:平时至少保留一个副本,这样,单分片出问题,还有副本提升为主分片,再拷贝副本到其他节点的。

要回复问题请先登录注册