三人行必有我师

elasticsearch 自定义id引发的负载均衡问题

Elasticsearch | 作者 陈水鱼 | 发布于2022年12月11日 | 阅读数:2646

系统要求写入es的多条相同的数据只可以保存一条,所以使用了数据的rowkey作为写入es的id,
由于使用了自定义id,es的分片间出现了数据量的不均衡,有些分片数据量大,有些分片数据量小,造成了读写不均衡
是否有办法保证写入的幂等性的同时,保证数据的均衡性?
已邀请:

amc - tbd

赞同来自: 陈水鱼

可以使用_routing字段,用md5(_id)作为_routing,或者别的hash算法试试
 
https://www.elastic.co/guide/e ... field
 
异常数据:
index shard prirep state docs store ip node
nyc-restaurants 0 p STARTED 0 225b 127.0.0.1 runTask-0
nyc-restaurants 1 p STARTED 0 225b 127.0.0.1 runTask-0
nyc-restaurants 2 p STARTED 9281 781kb 127.0.0.1 runTask-0

调整后:
index shard prirep state docs store ip node
nyc-restaurants 0 p STARTED 3145 502.5kb 127.0.0.1 runTask-0
nyc-restaurants 1 p STARTED 3127 498.2kb 127.0.0.1 runTask-0
nyc-restaurants 2 p STARTED 3009 469.1kb 127.0.0.1 runTask-0

要回复问题请先登录注册