在生产环境中,单台服务器部署存在2个及以上节点,因机械硬盘性能问题,导致在高并发时出现查询或搜索结果超时,以及磁盘I/O100%的问题。
解决办法
可以选择修改配置文件或者提交接口。
允许根据主机名和主机地址执行检查以防止在单个主机上分配同一分片的多个实例。 默认为 false,表示默认不执行检查。 此设置仅适用于在同一台计算机上启动多个节点的情况。
修改配置文件
编辑ES配置文件添加cluster.routing.allocation.same_shard.host=true
参数,并重启服务生效。
提交接口
提交接口免重启,但不会对已有的分片进行重新移动。
PUT /_cluster/settings
{
"transient":
{
"cluster.routing.allocation.same_shard.host": true
}
}
修改完成配置文件后,可以选择重启ES,或者手动迁移分片到其他ES节点中。