ES7 根据磁盘使用率来决定是否分配分片
本文原文链接:https://blog.csdn.net/xzk9381/article/details/113252344
公司 ES 集群的 Data 节点突然告警磁盘空间不足,清理了部分索引后发现该磁盘的利用率明显高于 ES 集群中其他节点的平均值,也就是说 ES 集群分片分配不均衡。除了让集群自动优化均衡以外,还可以设置一下磁盘空间水位线,这样 ES 就可以根据磁盘使用情况来决定是否继续分配 shard。
使用如下命令可以设置水位线:
PUT _cluster/settings
{
"transient":{
"cluster.routing.allocation.disk.watermark.high":"75%",
"cluster.routing.allocation.disk.watermark.low":"70%"
}
}
cluster.routing.allocation.disk.watermark.low
:在磁盘使用率达到指定值的时候将会停止分配新的 shard。也可以设置一个数值,比如 600Mcluster.routing.allocation.disk.watermark.high
:在磁盘使用率达到指定值的时候 es 将会r elocate shard 去其他的节点。也可以设置数值
使用 GET _cluster/settings
命令可以查看到当前的设置:
{
"persistent" : {
"indices" : {
"lifecycle" : {
"poll_interval" : "600s"
}
},
"search" : {
"max_buckets" : "100000"
}
},
"transient" : {
"cluster" : {
"routing" : {
"allocation" : {
"disk" : {
"watermark" : {
"low" : "70%",
"high" : "75%"
}
}
}
}
}
}
}
本文原文链接:https://blog.csdn.net/xzk9381/article/details/113252344