如同磁铁吸引四周的铁粉,热情也能吸引周围的人,改变周围的情况。

ES是否可以设置内部做重试?

Elasticsearch | 作者 wangxinrong | 发布于2023年04月11日 | 阅读数:3977

假如ES的某个数据节点,因为服务器异常或者其他原因,导致同样的负载时,其他节点cpu正常,问题节点的cpu先跑到100%,出现了search或者write reject,这时被分配到这些数据节点上的请求会直接报错。
有没有办法设置让ES在遇到这种情况时,再尝试去其他数据节点上查询,得到正确结果后返回呢?
已邀请:

God_lockin

赞同来自:

类似内部failover的方式貌似没有

emmning - for learn you know

赞同来自:

对于查询:
当协调节点查询数据节点失败时,会尝试查询副本。具体实现AbstractSearchAsyncAction#onShardFailure
对于写入:
当协调节点写入数据节点失败时,由于写入必须先写primary,所以无法尝试先写replica,只能客户端做重试。
 
es7.9.1

Charele - Cisco4321

赞同来自:

楼上说的是对的。
 
你可以贴一个具体的报错信息

要回复问题请先登录注册