我在本地机器上使用elasticsearch。数据目录只有37MB大小,但是当我检查日志时,我可以看到:
[2015-05-17 21:31:12,905][WARN][cluster.routing.allocation.decider] [Chrome] high disk watermark [10%] exceeded on [h9P4UqnCR5SrXxwZKpQ2LQ][Chrome] free: 5.7gb[6.1%], shards将从该节点重新定位
不知道哪里出了问题。任何帮助吗?
From Index Shard Allocation:
…水印。High控制高水位。默认为90%,这意味着如果节点磁盘使用率超过90%,ES将尝试将分片重新定位到另一个节点。
实际索引的大小并不重要;重要的是设备上剩余的可用空间。
如果默认值不适合您,您必须更改它们
解决以下问题,日志记录为:
硬盘高水位[90%]已超过on[ytI5oTyYSsCVfrB6CWFL1g] [ytI5oTy] [/var/lib/elasticsearch/节点/0]空闲:552.2mb[4.3%],分片将从该节点重新定位
您可以通过执行以下curl请求来更新阈值限制:
curl -XPUT "http://localhost:9200/_cluster/settings"
-H 'Content-Type: application/json' -d'
{
"persistent": {
"cluster": {
"routing": {
"allocation.disk.threshold_enabled": false
}
}
}
}'
这个稍微修改过的curl命令来自Elasticsearch 6.4文档:
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"transient": {
"cluster.routing.allocation.disk.watermark.low": "2gb",
"cluster.routing.allocation.disk.watermark.high": "1gb",
"cluster.routing.allocation.disk.watermark.flood_stage": "500mb",
"cluster.info.update.interval": "1m"
}
}
'
如果curl -XPUT命令成功,您应该在Elasticsearch终端窗口中看到如下日志:
[2018-08-24T07:16:05,584][INFO ][o.e.c.s.ClusterSettings ] [bhjM1bz] updating [cluster.routing.allocation.disk.watermark.low] from [85%] to [2gb]
[2018-08-24T07:16:05,585][INFO ][o.e.c.s.ClusterSettings ] [bhjM1bz] updating [cluster.routing.allocation.disk.watermark.high] from [90%] to [1gb]
[2018-08-24T07:16:05,585][INFO ][o.e.c.s.ClusterSettings ] [bhjM1bz] updating [cluster.routing.allocation.disk.watermark.flood_stage] from [95%] to [500mb]
[2018-08-24T07:16:05,585][INFO ][o.e.c.s.ClusterSettings ] [bhjM1bz] updating [cluster.info.update.interval] from [30s] to [1m]
https://www.elastic.co/guide/en/elasticsearch/reference/current/disk-allocator.html 这是一个警告,不会影响任何事情。存储处理器(SPs)使用高低水印来确定何时刷新它们的写缓存。可能的解决方案是释放一些内存
,警告将消失。即使显示了它,副本也不会分配给节点,这是可以的。
为了更好地利用空间,我使用绝对值和上升值来代替百分比:
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.disk.threshold_enabled": true,
"cluster.routing.allocation.disk.watermark.low": "1g",
"cluster.routing.allocation.disk.watermark.high": "500m",
"cluster.info.update.interval": "5m"
}
}
我还减少了池间隔,使ES日志更短))
在硬盘上清理一些空间,应该可以解决这个问题。这还会将ES集群的运行状况从黄色更改为绿色(如果您遇到了上述问题,那么您很可能也会遇到黄色集群运行状况问题)。