【问题标题】:How does elastic search brings back a node which is down弹性搜索如何带回一个已关闭的节点
【发布时间】:2017-08-02 15:23:53
【问题描述】:

我正在经历弹性搜索,并希望从 ES 集群中获得一致的响应。

我读过Elasticsearch read and write consistency

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-index_.html

和其他一些帖子,可以得出结论,ES 在完成对所有分片(主 + 副本)的写入后返回写入操作成功,而与一致性参数无关。

如果我的理解有误,请告诉我。

我想知道是否有人知道,弹性搜索如何将节点/分片添加回暂时关闭的集群中。它会在读取请求可用后立即开始处理读取请求,还是在处理读取请求之前确保其拥有最新数据?

我正在寻找上述问题的答案,但找不到任何答案。

谢谢 戈帕尔

【问题讨论】:

    标签: elasticsearch sharding consistency transient-failure


    【解决方案1】:

    如果节点从集群中移除并再次加入,Elasticsearch 会检查数据是否是最新的。如果不是,那么它将无法用于搜索,直到它再次被更新(这可能意味着整个分片被再次复制)。

    一致性参数只是一个额外的预索引检查集群中是否有预期的分片数量(如果索引配置为有4个副本,那么主分片加上两个副本需要可用,如果设置到quorum)。但是,此参数永远不会改变在返回客户端之前需要将写入写入所有可用分片的行为。

    【讨论】:

    • 谢谢,信息很有用。我的意图是使用 ES 并获得一致的数据。 Elastic Search 不能确保索引数据可立即用于查询。它需要每秒在后台运行的分片刷新操作。我们还可以选择对每个写入操作进行刷新,但它有其自身的含义。
    • 每次写入后不要刷新。前段时间为此引入了refresh=wait_for 参数elastic.co/guide/en/elasticsearch/reference/5.5/…
    猜你喜欢
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 2017-05-11
    • 2019-04-19
    相关资源
    最近更新 更多