【问题标题】:Distributing bulk ingest across nodes in elasticsearch 2.4在 elasticsearch 2.4 中跨节点分发批量摄取
【发布时间】:2017-11-24 00:58:49
【问题描述】:

我目前正在运行一个 10 节点 Elasticsearch 2.4 集群,并通过 PutElasticsearch 处理器使用 Apache Nifi 批量摄取数据。

我很好奇 Elasticsearch 在将负载分配到所有节点时如何处理摄取(批量摄取)。如果我只在我的 Elasticsearch 集群中的主节点上执行批量摄取命令,该主节点是否知道以循环类型策略将摄取负载分配给集群中的所有其他节点?

关于 Nifi,在我的 PutElasticsearch 处理器中,我可以选择将 Elasticsearch 节点的所有 IP 地址放入 Elasticsearch 主机 配置中。到目前为止,我刚刚放置了主节点 IP,因为我认为它正在分配负载。是否值得将所有 IP 地址放入集群中或仅放入主节点?

【问题讨论】:

    标签: elasticsearch apache-nifi elasticsearch-2.0


    【解决方案1】:

    这取决于您所说的要分配的负载是什么意思。 基本上这个过程是这样的:

    1. 客户端向协调节点发送请求(它是接收请求的节点,可以是集群中的任何节点,不仅是主节点 - 主节点角色有不同的用途)
    2. 协调器节点确定文档需要路由到的分片以及分片托管在哪些节点上,并将文档路由到这些节点。
    3. 主分片更新后,其主机节点会将文档转发到托管副本的节点。
    4. 当流程完成时,协调节点会响应客户端。

    因此,索引工作分布在托管目标分片和副本的节点之间,但是,所有协调都由接收请求的节点完成。因此,向不同节点发送请求以分配协调工作可能是有意义的。

    还可以将节点配置为具有特定角色,请查看doc

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 2023-04-03
      • 2017-02-16
      • 2018-05-25
      • 1970-01-01
      • 2016-03-30
      相关资源
      最近更新 更多