es每次结果不一样_es 集群中不同节点拿到全量数据不一致

在3台服务器组成的 Elasticsearch 集群中,一个脚本在尝试获取索引中的10W条数据时,发现有两台服务器(一台主节点,一台从节点)每次只能获取到9W多条,随机漏掉数百条记录,而另一台从节点能够获取全部数据。此问题始终重现,对集群的稳定性构成挑战。目前正进行问题排查,重点在于集群配置、网络延迟和节点间同步等方面。
摘要由CSDN通过智能技术生成

我的 ES 小集群由 3 台服务器组成

{

"cluster_name" : "elasticsearch",

"status" : "green",

"timed_out" : false,

"number_of_nodes" : 3,

"number_of_data_nodes" : 3,

"active_primary_shards" : 50,

"active_shards" : 100,

"relocating_shards" : 0,

"initializing_shards" : 0,

"unassigned_shards" : 0,

"delayed_unassigned_shards" : 0,

"number_of_pending_tasks" : 0,

"number_of_in_flight_fetch" : 0,

"task_max_waiting_in_queue_millis" : 0,

"active_shards_percent_as_number" : 100.0

}

通过 _cat/indices 查到索引的 docs.count 数量为 10W

通过脚本

from elasticsearch import Elasticsearch, helpers

es = Elasticsearch()

query = {"query": {"match_all": {}}}

scan_resp = helpers.scan(client=es, query=query, scroll="10m", index="index", doc_type="doc", timeout="10m")

for es_info in scan_resp:

pass

方法每次只能拿到 9W 多条数据,会随机漏掉几百条。

同样的脚本,放到服务器另一台上执行,可以拿全。

三台机器组成的集群,有两台(一台 master 一台 slave )会出现漏,一台正常( slave ),上述情况必现的...

怎么排查这个问题呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值