es 集群中不同节点拿到全量数据不一致

2019-05-17 12:16:03 +08:00
 fxxkgw

我的 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 ),上述情况必现的...
怎么排查这个问题呢?

4389 次点击
所在节点    Elasticsearch
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565007

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX