【问题标题】:How nodes work in ElasticSearch Cluster节点如何在 ElasticSearch 集群中工作
【发布时间】:2017-06-05 10:33:55
【问题描述】:

我有一个由 4 个节点组成的集群。

节点 1: 节点主:真 节点数据:真 节点 2: 节点主:真 节点数据:真 节点 3: 节点主:真 节点数据:真 节点 4: 节点主:假 节点数据:假

和 discovery.zen.minimum_master_nodes: 2.

现在,据我了解,将为集群选出一个主节点,主节点决定将传入数据存储在何处以及如何存储。

假设,节点 2: 发生故障并且永远不会回来。当 Node 2: 关闭时,集群仍将启动并运行,因为重新选举发生。

但是存储在 节点 2: 中的数据会发生什么情况。谁能解释一下这里的流程。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    如果节点 2 出现故障并且再也不会回来意味着您将永远丢失数据,除非您配置了副本。

    如果每个分片都有一个副本,那么您将在不同节点中拥有每个分片的额外副本。

    所以当节点 2 宕机时,节点 2 的数据将从节点 2 或节点 1 的副本服务器服务器。

    希望对你有帮助!

    【讨论】:

    • 感谢您的信息。现在我的工作地点有一个场景。符合条件的主节点之一已关闭。现在我想用剩下的 3 个节点组成一个集群并继续工作。但是这里有一个带有logstash的探针。它不会将传入的数据从 filebeat 推送到 elasticsearch。
    • 它给出以下错误,logstash.outputs.elasticsearch - 使用响应代码重试失败的操作:503 ({"type"=>"unavailable_shards_exception", "reason"=>"[logstash-2017.06.05 ][1] 主分片未激活超时:[1m],请求:[BulkShardRequest [[logstash-2017.06.05][1]] 包含 [3] 个请求]"})
    • 我可以知道为什么这个异常会显示在 logstash 日志中。一旦我在所有 3 个节点中清除了 elasticsearch 中的数据文件夹,logstash 中就不再抛出异常。所以我在这里假设新集群中的节点有一些指向第 4 个集群的指针,该集群已关闭并且无法找到它。一旦我清除了数据文件夹,所有对第 4 个节点的引用都被删除了,这个异常问题也得到了纠正。请让我知道我的理解是否正确。
    • 我想了解为什么会发生该异常,以便我可以牢记根本原因以避免此类问题。
    • 我认为你没有为 logstash 日志配置副本......如果你这样做,它将提供数据......!
    猜你喜欢
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多