我在我的开发机器(一台笔记本电脑)中使用Elasticearch 1.4.4。所有设置都设置为默认设置,因为我从未更改过任何设置。
当我启动它时,我通常会收到以下消息:
[2015-10-27 09:38:31,588][INFO ][node ] [Milan] version[1.4.4], pid[33932], build[c88f77f/2015-02-19T13:05:36Z]
[2015-10-27 09:38:31,588][INFO ][node ] [Milan] initializing ...
[2015-10-27 09:38:31,592][INFO ][plugins ] [Milan] loaded [], sites []
[2015-10-27 09:38:34,665][INFO ][node ] [Milan] initialized
[2015-10-27 09:38:34,665][INFO ][node ] [Milan] starting ...
[2015-10-27 09:38:34,849][INFO ][transport ] [Milan] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.81.1.108:9300]}
[2015-10-27 09:38:35,022][INFO ][discovery ] [Milan] elasticsearch/DZqnmWIZRpapZY_TPkkMBw
[2015-10-27 09:38:38,787][INFO ][cluster.service ] [Milan] new_master [Milan][DZqnmWIZRpapZY_TPkkMBw][THINKANDACT1301][inet[/10.81.1.108:9300]], reason: zen-disco-join (elected_as_master)
[2015-10-27 09:38:38,908][INFO ][http ] [Milan] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/10.81.1.108:9200]}
[2015-10-27 09:38:38,908][INFO ][node ] [Milan] started
[2015-10-27 09:38:39,220][INFO ][gateway ] [Milan] recovered [4] indices into cluster_state
[2015-10-27 09:39:08,801][INFO ][cluster.routing.allocation.decider] [Milan] low disk watermark [15%] exceeded on [DZqnmWIZRpapZY_TPkkMBw][Milan] free: 58.6gb[12.6%], replicas will not be assigned to this node
[2015-10-27 09:39:38,798][INFO ][cluster.routing.allocation.decider] [Milan] low disk watermark [15%] exceeded on [DZqnmWIZRpapZY_TPkkMBw][Milan] free: 58.6gb[12.6%], replicas will not be assigned to this node
[2015-10-27 09:40:08,801][INFO ][cluster.routing.allocation.decider] [Milan] low disk watermark [15%] exceeded on [DZqnmWIZRpapZY_TPkkMBw][Milan] free: 58.6gb[12.6%], replicas will not be assigned to this node
....
我看到很多这样的“低磁盘水位线……超过……”留言。我的案子出了什么问题?怎么才能修好呢?谢谢!
更新
在这个帖子之前,我搜索了一下相关的帖子。我找到了一个和“高水位线”有关的。在这种情况下,磁盘空间很低。在我的例子中,我检查了一下,我的磁盘上还剩下56 GB。
更新
根据安德烈·斯特凡的输入,我需要更改设置。我应该这样做吗?
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.disk.threshold_enabled" : false
}
}'
或者有没有我可以编辑的设置文件?
5条答案
按热度按时间w8f9ii691#
如果您像我一样有很多磁盘,您可以调整水印设置,并使用字节值而不是百分比:
毒品!使用百分比值或**字节值。
设置:
cluster.routing.allocation.disk.watermark.low
设置:
cluster.routing.allocation.disk.watermark.high
设置::
cluster.routing.allocation.disk.watermark.flood_stage
Https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html#disk-based-shard-allocation
请注意:
在我的5TB磁盘上,我设置了:
xnifntxz2#
我知道这是老帖子,但我的评论可以让人开心。为了以字节为单位指定水印(GB或MB),您必须将cluster.routing.allocation.disk.watermark.flood_stage添加到ElasticSearch设置文件-elasticearch.yml中。完整的示例:
注意:如果不指定cluster.routing.allocation.disk.watermark.flood_stage,它将不适用于字节值(GB或MB)
lb3vh1jj3#
在我的例子中,我只需关闭门槛:
运行ElasticSearch:
在其他选项卡运行中:
MacOS Catalina,ElasticSearch通过BREW安装。
vi4fp9gy4#
我在
elasticsearch.yaml
文件中添加了以下几行代码(elelity_search_Folders\config):由于某些原因,像在另一个答案中那样指定以GB为单位的水印对我来说不起作用。此外,确保您的
watermark.high
小于或等于泛洪水位线(通常设置为95%)。在版本6.1.1中,这对我来说很有效。
uqjltbpv5#
我想就为什么Elasticearch有这些不同的阈值以及如果超过这些阈值会发生什么,添加一些背景知识。
背景
ElasticSearch会考虑可用的磁盘空间,然后根据该错误的不同阈值来决定是分配新的分片、重新定位分片还是将所有索引设置为读模式。原因是Elasticearch索引由不同的分片组成,这些分片保存在数据节点上。
解决方案
我关于相关设置以及临时和永久修复的详细博客可以在here找到。
简而言之,永久解决方案是:
1.删除未使用的索引。
1.使用Optimize API for reducing the segments and eliminating ES deleted docs not working中的答案合并分段。
1.连接外部磁盘或增加问题数据节点使用的磁盘。