我有一个es集群,查询请求都是走协调节点,不直接向数据节点发起请求
数据节点有21个,上面有两个负载比较高的索引:
索引a是1个主分片,20个副本分片,21个数据节点上各一个分片
索引b是10个主分片,10个副本分片,20个数据节点上各一个,有1个节点是不分配的
现在看现象是,没有分配到索引b分片的那个节点,cpu要明显高于两个索引分片都分配到的其他节点
看节点级别的监控,这个节点的qps要高于其他节点。看起来像是因为它没有分到b索引的数据所以承担了更多a索引的查询。
这个现象是确认的,我把某个有b索引分片的正常节点x,它的分片迁到那个没有b分片的节点y上,cpu就从x低y高,变成x高y低了。
我想知道,这个现象具体是什么原因导致的呢?
数据节点有21个,上面有两个负载比较高的索引:
索引a是1个主分片,20个副本分片,21个数据节点上各一个分片
索引b是10个主分片,10个副本分片,20个数据节点上各一个,有1个节点是不分配的
现在看现象是,没有分配到索引b分片的那个节点,cpu要明显高于两个索引分片都分配到的其他节点
看节点级别的监控,这个节点的qps要高于其他节点。看起来像是因为它没有分到b索引的数据所以承担了更多a索引的查询。
这个现象是确认的,我把某个有b索引分片的正常节点x,它的分片迁到那个没有b分片的节点y上,cpu就从x低y高,变成x高y低了。
我想知道,这个现象具体是什么原因导致的呢?
1 个回复
tongchuan1992 - 学无止境、学以致用
赞同来自: