您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch将未分配的分片分配给节点
发布时间:2021-09-08 23:13:11编辑:雪饮阅读()
在上一篇中我们最后让elasticSearch集群产生了unssigned状态如下图所示
那么此时我要将这里未分配的tutorials索引的副本分片0分配到节点node_win7_2上。
请求正文:
{
"commands":
[
{"allocate_replica": {"index": "tutorials", "shard": 0,"node":"node-win7-2"}}
]
}
响应正文:
{
"state": {
"security_tokens": {}
}
}
正常情况下上面的请求结束后刷新elasticSearch-head就会看到成功的将未分配的tutorials索引的副本分片0分配到了node_win7_2节点上了
注意这里如果请求正文写错了,导致请求报错,那么结果会触发重新平衡策略,自动将所有未分配的给分配了,像是我本来这里请求正文错误写成如下:
{
"commands":
[
{"allocate_replica": {"index": "tutorials", "shard": 0, "from_node": "node-win7-2","node":"node-win7-2"}}
]
}
如果是这样将响应如:
{
"error": {
"root_cause": [
{
"type": "x_content_parse_exception",
"reason": "[4:65] [allocate_replica] unknown field [from_node]"
}
],
"type": "x_content_parse_exception",
"reason": "[4:78] [cluster_reroute] failed to parse field [commands]",
"caused_by": {
"type": "x_content_parse_exception",
"reason": "[4:65] [allocate_replica] unknown field [from_node]"
}
},
"status": 400
}
此时就会触发自动平衡分配策略的。
然后就会变成大概这样了
关键字词:elasticSearch,未分配
上一篇:elasticSearch利用cluster.routing.rebalance.enable产生Unassigned未分配情况
下一篇:elasticSearch禁用自动分片分配(cluster.routing.allocation.enable)