今天发现logstash没有任何数据写入elasticsearch,检查logs,发现报错high disk watermark [10%] exceeded on [asfasdf112xzvdx][flag=smasher] free:2.8gb[9.2%], shards will be relocated away from this node.
原因可能是机器剩余磁盘空间不足,低于elasticsearch的shard设置,没办法了删除部分没用的数据。
更新2015-12-16
可以在shell用命令关闭这个检查
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.disk.threshold_enabled" : false
}
}'
Elasticsearch使用两个配置参数决定分片是否能存放到某个节点上。cluster.routing.allocation.disk.watermark.low:控制磁盘使用的低水位。默认为85%,意味着如果节点磁盘使用超过85%,则ES不允许在分配新的分片。当配置具体的大小如100MB时,表示如果磁盘空间小于100MB不允许分配分片。cluster.routing.allocation.disk.watermark.high:控制磁盘使用的高水位。默认为90%,意味着如果磁盘空间使用高于90%时,ES将尝试分配分片到其他节点。上述两个配置可以使用API动态更新,ES每隔30s获取一次磁盘的使用信息,该值可以通过cluster.info.update.interval来设置。