您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch利用cluster.routing.rebalance.enable产生Unassigned未分配情况
发布时间:2021-09-08 22:56:08编辑:雪饮阅读()
最近有经过测试就是基本上三个elasticSearch数据节点同时启动,虽然都是手动启动,但是相差时间应该都在1分钟之内。
那么启动之后由于我每个索引都只配置了一个主分片和一个副本分片,那么分片均分于各个数据节点的情况大概如下所示:
当然这只是一个大概,因为那个图当时忘了截了,这里这个图是我利用咱们上篇中所学习的已分配分片在节点间的移动的api来模拟实现出来的图。
那么像是上面这种均分的情况下,此时我若关闭了比如node_win7_3这个节点,那么node_win7_3节点上这3个分片就会被均分到node_win7和node_win7_2节点上。
当然这只是一般情况下,这个我是有亲测的。
那么这个策略就是默认的重新平衡策略。
那么这个重新平衡策略是受集群配置cluster.routing.rebalance.enable的影响。
比如这里我将cluster.routing.rebalance.enable置为none
请求正文:
{
"persistent" : {
"indices.recovery.max_bytes_per_sec" : "50mb",
"cluster.routing.rebalance.enable":"none"
}
}
响应正文:
{
"acknowledged": true,
"persistent": {
"cluster": {
"routing": {
"rebalance": {
"enable": "none"
}
}
},
"indices": {
"recovery": {
"max_bytes_per_sec": "50mb"
}
}
},
"transient": {}
}
此时你关闭node-win7-3这个节点,则就会产生Unassigned未分配的分片,而不是默认的自动分配到另外两个节点上。
当然,此时你关闭node_win7_3节点时候不要通过elasticSearch_head的图形化方式关闭,而是比如在win7_3这台虚拟机的cmd中ctrl+d强制关闭,若通过elasticSearch_head的图形化方式关闭,你会发现关闭半天还在,那么你此时在node_win7_3这台虚拟机中cmd中可以看到一直在update xxxx [none],大概就是这样的提示,完整的提示这里暂时就不提供了。就我个人看,这样应该是进入了僵局了,处理不下去了。
关键字词:elasticSearch,cluster.routing.rebalance.enable,none,Unassigned