我在本地计算机上使用elasticsearch。数据目录的大小只有37MB,但当我检查日志时,我可以看到:
[2015-05-17 21:31:12,905] [警告] [cluster]:[Chrome]导致[Chrome]高磁盘水印[10%]超过[h9P4UqnCR5SrXxwZKpQ2LQ] [Chrome]免费:5.7gb [ 6.1%],分片将从此节点重新定位
对可能出现的问题感到困惑。有什么帮助吗?
答案 0 :(得分:26)
... watermark.high控制高水印。它默认为90%,这意味着如果节点磁盘使用率超过90%,ES将尝试将分片重新定位到另一个节点。
实际指数的大小无关紧要;它是设备上留下的自由空间。
如果默认值不适合您,您需要更改它们。
答案 1 :(得分:5)
要解决此问题,日志记录为:
超出高磁盘水印[90%] [ytI5oTyYSsCVfrB6CWFL1g] [ytI5oTy] [在/ var / lib中/ elasticsearch /节点/ 0] free:552.2mb [4.3%],碎片将从此节点重新定位
您可以通过执行以下curl请求来更新阈值限制:
curl -XPUT "http://localhost:9200/_cluster/settings" -d'
{
"persistent": {
"cluster": {
"routing": {
"allocation.disk.threshold_enabled": false
}
}
}
}'
答案 2 :(得分:3)
它是一个警告,不会影响任何事情。存储处理器(SP)使用高水位和低水位来确定何时刷新其写入缓存。 可能的解决方案是释放一些内存
警告将消失。即使显示,副本也不会分配给可以接受的节点。弹性搜索将正常工作。
答案 3 :(得分:2)
此Elasticsearch 6.4 docs中经过稍微修改的curl命令对我有用:
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
答案 4 :(得分:1)
我使用绝对值和上升值代替百分比,以更好地利用空间(在生产前):
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日志))
答案 5 :(得分:1)
清理硬盘驱动器上的一些空间。那应该解决问题。这还将使您的ES群集的运行状况从黄色更改为绿色(如果遇到上述问题,您也很可能会遇到黄色群集的运行状况)。